Spring MVC提供了以下几种途径输出模型数据:
-ModleAndView
-Map 及Model
-@SessionAttributes:
-@ModelAttribute
ModelAndView处理模型数据
控制器处理方法的返回值如果为ModelAndView,则即包含视图信息,也包含模型数据信息
添加模型的数据
-ModelAndView addObject(String attributname,Object attributevalue)
-ModelAndView addAllObjec(Map<string,? > modeMap)
注:添加采取键值对的形式添加
设置视图
-void setView(View view)
-void setViewName(String viewName)
页面中
<a href=“springmvc/testModelAndView”
Java类中
@RequstMapping("/testModelAndView")
public **ModelAndView** testModelAndView(){
ModelAndView mv=newModelAndView ();
mv.setViewName("success");
//ModelAndView模型数据的值,**是放到Requst范围对象中**
mv.addObject("name","Tom");
return **mv**;
}
在success.jsp页面中
${requestScope.name}
Map,Model,ModelMap
Map
页面中:
<a href=“springmvc/testMap”
Java类中
@RequstMapping("/testMap")
public String testMap( Map<String,Object> map){
map.put("age",12);
return"success";
}
在success.jsp页面中
${requestScope.age}
Model
页面中:
<a href=“springmvc/testModel”
Java类中
@RequstMapping("/testModel")
public String testModel( Model model){
model.addAttribute("name","tom");
return"success";
}
在success.jsp页面中
ModelMap
页面中:
<a href=“springmvc/testModelMap”
Java类中
@RequstMapping("/testModelMap")
public String testModel( ModelMap modelmap){
modelmap.addAttribute("name","tom");
return"success";
}
在success.jsp页面中
${requestScope.name}
@SessionAttributes:
若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个@SessionAttributes,SpringMVC将模型中对应的属性暂时存在httpsession中