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) 源码参考