1. 程式人生 > >SpringMVC將資料放到作用域中的方式

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

}

}