我遇到了Play框架的一些问题。 我正在开发一个与用户交互的Web应用程序。业务逻辑位于基于代理的应用程序中。这两个系统通过Web服务进行通信。
这是我的路线档案:
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.Application.index
GET /login.html controllers.SessionManagerController.login()
POST /login controllers.SessionManagerController.authenticate(username:String, password:String)
POST /setLoggedUser controllers.SessionManagerController.setLoggedUser()
GET /dashboard controllers.Application.dashboard()
GET /javascriptRoutes controllers.Application.javascriptRoutes()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
这是我的SessionManagerController.java文件
public class SessionManagerController extends Controller {
public static Result login() {
return ok(login.render());
}
public static Result authenticate(String username, String password) {
models.corisa.stub.ServiceAgentPortType serviceAgentPortType = new models.corisa.stub.ServiceAgent().getServiceAgent();
final String response = serviceAgentPortType.itCorisaDssterminalcontainerServiceLoginDoLogin(username, password);
return ok(response);
}
public static Result setLoggedUser() {
final Http.Request request = request();
final String uuid = request.getHeader("userId");
final JsonNode json = request.body().asJson();
ObjectMapper mapper = new ObjectMapper();
try {
UserDto user = mapper.readValue(json.toString(), UserDto.class);
System.out.println("New user " + user.getNameSurname());
} catch (IOException e) {
e.printStackTrace();
}
return ok(dashboard.render());
}
}
第一页login.html已正确加载并显示。然后我插入用户名/密码并调用Web服务进行登录。
当代理程序平台完成作业时,它会使POST请求/ setLoggedUser发送已记录的用户。
一切正常:0错误,0异常,我可以从Web服务中获取用户,实际上user.getNameSurname()
的打印工作正常。
问题是播放不会改变html页面。它似乎忽略了这一行ok(dashboard.render())
,因此我无法查看dashboard.html页面。
我已经尝试过clean
和clean-all
命令。
出了什么问题?