什麼是可以在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(「用戶」) –