SpringMVC_處理資料模型(@ModelAndView、@Map、@SessionAttributes)
阿新 • • 發佈:2018-11-09
1. 處理模型資料之ModelAndView
首先ModelAndView 分為兩部分:model和view。model負責的是從後面接收回來的引數,view就是檢視就是指定的jsp頁面。例如:ModelAndView mv = new ModelAndView(“test”); 所以當return mv的時候,其中view就是test.jsp頁面,程式碼如下
ModelAndView mv = new ModelAndView("test");//檔名(例如JSP: test.jsp)
mv.addObject ("username", "wang"); //"hellow"為傳到jsp的資料,用aa取
Demo如下:
<form action="springmvc/TestModelAndView" method="post">
使用者名稱<input type="text" name="username"/><br/>
<input type="submit" value="提交">
</form>
@RequestMapping("/TestModelAndView")
private static final String SUCCESS = "success";
public ModelAndView TestModelAndView(@RequestParam("username") String username){
ModelAndView mv=new ModelAndView(SUCCESS);
mv.addObject("username",username);
return mv;
}
JSP頁面展示:${username}
2. 處理模型資料之Map
<a href="springmvc/TestMap">TestMap</a><br/>
private static final String SUCCESS = "success";
@RequestMapping("/TestMap")
public String TestMap(Map<String,Object> map){
map.put("city", Arrays.asList("Dog","Cat","bird"));
return SUCCESS;
}
展示頁面:${city}
3. 處理模型資料之SessionAttributes
SessionAttributes除了可以通過value值來指定放入Session裡的內容外,還可以使用types屬性值來指定
注意:SessionAttributes只能修飾類,不能修飾方法
@Controller
@SessionAttributes(value={"user"},types={String.class})
@RequestMapping("/springmvc")
public class SpringMVCTest {
private static final String SUCCESS = "success";
@RequestMapping("/TestSessionAttributs")
public String TestSessionAttributs(Map<String,Object> map){
User user=new User("wang","123",50);
map.put("user", user);
map.put("pass", "123456");
return SUCCESS;
}
}
展示頁面:
requestScope使用者名稱${requestScope.user.username} <br>
requestScope密碼${requestScope.pass} <br>
SessionScope使用者名稱${sessionScope.user} <br>
SessionScope密碼${sessionScope.pass} <br>