SpringMVC框架

第5章 处理响应数据

5.1 SpringMVC 输出模型数据概述

5.1.1提供了以下几种途径输出模型数据

  • ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据
  • Map 及 Model: 入参为springframework.ui.Model、

org.springframework.ui.ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中。

  • @SessionAttributes: 将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性
  • @ModelAttribute: 方法入参标注该注解后, 入参的对象就会放到数据模型中

5.2处理模型数据之 ModelAndView

5.2.1     ModelAndView介绍

  • 控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型

数据信息。

2)添加模型数据:

MoelAndView addObject(String attributeName, Object attributeValue)

ModelAndView addAllObject(Map<String, ?> modelMap)

3)设置视图:

void setView(View view)

void setViewName(String viewName)

5.2.2 实验代码

  • 增加控制器方法

/**

 * 目标方法的返回类型可以是ModelAndView类型

 *                 其中包含视图信息和模型数据信息

 */

@RequestMapping("/testModelAndView")

public ModelAndView testModelAndView(){

System.out.println("testModelAndView");

String viewName = "success";

ModelAndView mv = new ModelAndView(viewName );

mv.addObject("time",new Date().toString()); //实质上存放到request域中

return mv;

}

  • 增加页面链接

<!--测试 ModelAndView 作为处理返回结果 -->

<a href="springmvc/testModelAndView">testModelAndView</a>

  • 增加成功页面,显示数据

time: ${requestScope.time }

  • 断点调试