我有一个 java User 对象,我想将它从我的登录控制器传递到我的仪表板控制器。我读了一堆,我正在尝试以下实现
public static Result authenticate(){
Form<LoginForm> loginform = Form.form(LoginForm.class).bindFromRequest();
if(loginform.hasErrors()){
return badRequest(login.render(loginform));
}
else{
session().clear();
AppUser user = AppUser.getUserByEmail(loginform.get().email);
Context.current().args.put("user", user);
return redirect(routes.DashBoard.index());
}
和我的仪表板控制器
public static Result index(){
AppUser user = (AppUser) Context.current().args.get("user");
return ok(views.html.dashboard.index.render(user));
}
这导致空指针异常
这是因为这两个请求当然不是同一个请求。
如何以一种友好的方式解决这个问题顺便说一句,我在文档中看到了一些关于动作组合的东西,但我不明白。