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