处理模型数据
Spring MVC 提供了以下几种途径输出模型数据:
ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据
Map 及 Model: 入参为org.springframework.ui.Model、org.springframework.ui.ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中。
@SessionAttributes: 将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性
@ModelAttribute: 方法入参标注该注解后, 入参的对象就会放到数据模型中
ModelAndView
控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。
SpringMVC 会把 ModelAndView 的 model 中数据放入到 request 域对象中.
添加模型数据:
MoelAndView addObject(String attributeName, Object attributeValue)
ModelAndView addAllObject(Map<String, ?> modelMap)
设置视图:
void setView(View view )
void setViewName(String viewName)
1 @RequestMapping("/testModelAndView") 2 public ModelAndView testModelAndView(){ 3 String viewName = SUCCESS; 4 ModelAndView modelAndView = new ModelAndView(viewName); 5 6 //添加模型数据到 ModelAndView 中. 7 modelAndView.addObject("time", new Date()); 8 9 return modelAndView; 10 }