SpringMVC將資料放到作用域中的方式
一、將資料放到Request域中:
方式一:
request.setAttribute("message","我愛你們!
在jsp頁面中通過EL表示式獲取 ${message} --> 輸出 我愛你們
方式二:
<span style="white-space:pre"> </span>ModelAndView modelAndView = new ModelAndView(); <span style="white-space:pre"> </span>modelAndView.setView("user/add"); <span style="white-space:pre"> </span>modelAndView.addObject("message",user); <span style="white-space:pre"> </span>return modelAndView;
<span style="white-space:pre"> </span>JSP頁面中通過EL表示式獲取 ${message} --> 獲得user物件
</pre><pre code_snippet_id="1603879" snippet_file_name="blog_20160309_5_7587929" name="code" class="java">方式三: (只對物件有用)<pre name="code" class="java">public String getUser(@ModelAttribute("user") User user){ user.setUsername("小明"); }
接下來在jsp頁面中就可以通過 EL表示式去獲取 ${user} --> 輸出小明
二、將資料放到session中:
方式一:
request.getSession().setAttribute("message","logined");
方式二:
@SessionAttributes("user") //只能加在類上面
/*如果@SessionAttributes沒有uses屬性的時候,方法的@ModelAttribute會先呼叫一個指明:@ModelAttribute隱式的物件建立,
物件建立成功以後在賦給@SessionAttributes
@ModelAttribute("user")
public User getUser(){
return new User();
}
會話的登出:
public String logout(HttpSession session){
session.invalidate(); //清除所有會話
session.removeAttribute("user"); 針對性的清除
}
2.springmvc的方式
@RequestMapping("/logout")
public String logout(ModelMap modelMap,SessionStatus sessionStatus){
User user = (User)modelMap.get("user");
if(user!=null){
sessionStatus.setComplete(); // 清除session
}
}