0%

SpringMVC传值方式

ModelMap

ModelMap 对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap 对象中即可,request 对象的 setAttribute 方法的作用: 用来在一个请求过程中传递处理的数据。 使用方法与 model 一样

Model

Model 和 ModelMap 的实例都是 spirng mvc 框架来自动创建并作为控制器方法参数传入,用户无需自己创建,可以简单地将 model 的实现类理解成一个 Map,Request 级别的模型数据,Model 是一个接口, 其实现类为ExtendedModelMap,继承了 ModelMap 类

方法介绍

Model addAttribute(String attributeName, Object attributeValue):添加键值对属性


Map<String, Object> asMap():将当前的 mode l转换成 Map

Model addAttribute(Object attributeValue):以属性的类型为键添加属性


Model addAllAttributes(Map<String, ?> attributes):将 attributes 中的内容复制到当前的 model 中,如果当前model 存在相同内容,会被覆盖


Model addAllAttributes(Collection<?> attributeValues):以集合中数据的类型做为key,将所提供的 Collectio中的所有属性复制到这个 Map 中,如果有同类型会存在覆盖现象

Model mergeAttributes(Map<String, ?> attributes):将 attributes 中的内容复制到当前的 model 中,如果当前model 存在相同内容,不会被覆盖

boolean containsAttribute(String attributeName)

ModelAndView

需要自己创建,既包含模型也包含视图

@SessionAttributes注解

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

value

通过指定 key 将 model 数据放到 session 域当中



type

把指定类型的模型数据放到 session 域当中

@SessionAttribute注解

使用 @SessionAttribute 来访问预先存在的全局会话属性


@ModelAttribute

作用

1.修改处理方法的参数时,自动把该参数放到 model 当中


在方法定义上使用 @ModelAttribute 注解,Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了@ModelAttribute 的方法。

↓赏一个鸡腿... 要不,半个也行↓