什么是可以在Spring MVC 3中的每个请求和响应中追加用户对象的方法。 因此,如果在Jsp上执行request.getAttribute(“user”),那么我应该能够获得用户对象。将用户对象添加到每个请求和响应
感谢所有。
什么是可以在Spring MVC 3中的每个请求和响应中追加用户对象的方法。 因此,如果在Jsp上执行request.getAttribute(“user”),那么我应该能够获得用户对象。将用户对象添加到每个请求和响应
感谢所有。
User
对象保存在session属性
你可以把你User
中的对象会话属性:
@Controller
public class MyMvcController
{
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello(HttpServletRequest request)
{
User user = ... // initialise your User object here
request.getSession().setAttribute("user", user);
return "hello";
}
}
如果你把User
对象保存在session属性,它会被存储HTTP请求的服务器上,所以你需要在你的应用程序只有一次的地方对其进行初始化。在MVC模型${user.id}
,${user.name}
...
User
对象
另外,如果你不想:
在JSP中,你可以用session.getAttribute("user")
访问User
对象,或EL将对象存储在会话属性中,可以在每个请求中创建一个新的User
对象,并将其放入您的MVC模型中,如this answer中所述:
@ControllerAdvice
public class GlobalControllerAdvice {
@ModelAttribute
public void myMethod(Model model) {
User user = // initialise your User object here
model.addAttribute("user", user);
}
}
查看原始答案的详细信息。
在JSP中,你可以用request.getAttribute("user")
访问User
对象,或者与EL:${user.id}
,${user.name}
...
您希望每个请求和响应中都有用户对象。
@Controller
@SessionAttribute("user")
public class UserController{
}
JSP代码:
<form:form modelAttribute="user">...</form:form>
您可以使用用户对象,只要你想:
${user.name} //equivalent to request.getAttribute("user").getName();
${user.age}
在会话存储用户对象。或@SessionAttribute(“用户”) –