在Spring MVC 3中的每个请求和响应中附加用户对象的方法是什么。 所以在Jsp上,如果我执行request.getAttribute(“user”),那么我应该能够获取用户对象。
感谢所有人。
答案 0 :(得分:2)
User
个对象
您可以将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
对象放在会话属性中,它将在HTTP请求之间存储在服务器上,因此您只需在应用程序的某个位置初始化它。
在JSP中,您可以使用User
或使用EL访问session.getAttribute("user")
对象:${user.id}
,${user.name}
...
User
对象
或者,如果您不想将对象存储在会话属性中,则可以在每个请求中创建一个新的User
对象,并将其放入MVC模型中,如this answer中所述:< / p>
@ControllerAdvice
public class GlobalControllerAdvice {
@ModelAttribute
public void myMethod(Model model) {
User user = // initialise your User object here
model.addAttribute("user", user);
}
}
有关详细信息,请参阅原始答案。
在JSP中,您可以使用User
或使用EL访问request.getAttribute("user")
对象:${user.id}
,${user.name}
...
答案 1 :(得分:0)
您希望每个请求和响应都包含User对象。
@Controller
@SessionAttribute("user")
public class UserController{
}
JSP代码:
<form:form modelAttribute="user">...</form:form>
您可以根据需要使用该用户对象:
${user.name} //equivalent to request.getAttribute("user").getName();
${user.age}