控制器向视图传参ModelAndView、Model和Map

ModelAndView类

ModelAndView在spring-webmvc-4.3.18.RELEASE.jar包下,当然其他版本也有,所在包如下

创建controller,访问地址并传参http://localhost:8080/index?username=yanguobin

通过EL表达式在jsp中获取

Model接口

Model在spring-context-4.3.18.RELEASE.jar包下,当然其他版本也有,是一个接口,所在包如下

 

可以使用Model对象来完成模型数据的传递,其实springmvc在调用方法前会创建一个隐含的模型对象,作为模型数据的存储容器,一般称为“隐含模型”。若处理方法的入参为Model类型,springmvc会将隐含模型的引用传递给这些入参。简单的说,就是在方法体内,开发者可以通过一个Model类型的入参对象访问到模型中的所有数据,当然也可以往模型中添加新的数据

Model对象也是一个Map类型的数据结构,并且对于key值的指定不是必需的

如下代码中model.addAttribute(username); model.addAttribute(user); 并没有指定Model中key的值,这种情况下,会默认使用对象的类型作为key

如username是String类型,则key为字符串"string"

如user是User类型,则key为字符串"user"

 

Map接口

Map所在包

springmvc其实就是一个Map类型的数据结构,所以使用Map作为处理方法入参也是可以的,当然,作为springmvc的标准用法,推荐使用Model

猜你喜欢

转载自www.cnblogs.com/yanguobin/p/11623013.html