SpringMVC框架 第5章 处理响应数据

第5章 处理响应数据

5.1 SpringMVC 输出模型数据概述

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

  1)  ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据

  2)  Map 及 Model: 入参为 springframework.ui.Model、

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

  3)  @SessionAttributes: 将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性

  4)  @ModelAttribute: 方法入参标注该注解后, 入参的对象就会放到数据模型中

5.2处理模型数据之 ModelAndView

5.2.1 ModelAndView介绍

  1)  控制器处理方法的返回值如果为 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 实验代码

  1)  增加控制器方法

5.2.2 源码解析

5.3 处理模型数据之 Map

5.3.1 Map介绍

1)Spring MVC 在内部使用了一个 org.springframework.ui.Model 接口存储模型数据

具体使用步骤

2)Spring MVC 在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器

3)如果方法的入参为 Map 或 Model 类型,Spring MVC 会将隐含模型的引用传递给这些入参。

4)在方法体内,开发者可以通过这个入参对象访问到模型中的所有数据,也可以向模型中添加新的属性数据

5.3.2 实验代码

  1)  增加控制器方法

  5)  注意问题:Map集合的泛型,key为String,Value为Object,而不是String  

  6)  测试参数类型  7)  类层次结构  8)  推荐:Map,  便于框架移植。

  9)  源码参考