控制器向视图传参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

原文地址:https://www.cnblogs.com/yanguobin/p/11623013.html

时间: 2024-10-10 10:39:44

控制器向视图传参ModelAndView、Model和Map的相关文章

SpringMVC学习 -- ModelAndView , Model , ModelMap , Map 及 @SessionAttributes 的使用

输出模型数据: ModelAndView:处理方法返回值类型为 ModelAndView 时 , 其中包含视图和模型信息.方法体即可通过该对象添加模型数据 , 即 SpringMVC 会把 ModelAndView 中的 model 模型放入到 request 域对象中. Map, Model, ModelMap:目标方法的入参中包含 Map, Model, ModelMap 类型的数据, 返回值是 String 类型,Spring MVC 会自动把 Map, Model, ModelMap转化

springmvc 传参和接收参数

对于springmvc接收参数有那些方式,下面我写了几个. 先创建项目,导入jar包配置web.xml ,springmvc-servlet.xml上面有过介绍,在本章最下面配置信息也写了出来. 通过HttpServletRequest 获取参数 @RequestMapping(value="par1.do") public ModelAndView par1(HttpServletRequest request){ // 接收前台传来的参数 String userName = req

SpringMVC(二)--处理数据模型、ModelAndView、Model、Map、重定向、@ModelAttribute、

1.处理模型数据 Spring MVC 提供了以下几种途径输出模型数据: – ModelAndView:处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据 – Map 及 Model.ModelMap: 入参为 org.springframework.ui.Model.org.springframework.ui. ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中. 无论返回值是String类型,还是Mod

C++ map.insert 传参类型不同,构造/析构次数不同

1. 传参方式 使用 insert 为 map 插值时,insert 的传参包含以下几种可能: make_pair 生成对象 pair(key_type, value_type) 生成对象 pair(const key_type, value_type) 生成对象 map<key_type, value_type>::value_type 生成对象 不同的传参,导致不同次数的构造 / 析构函数调用. 2. 测试代码与结果 /* 在 map 中不同的 insert 传参类型,导致的不同次数的构造

RestTemplate post请求使用map传参 Controller 接收不到值的解决方案 postForObject方法源码解析.md

结论 post方法中如果使用map传参,需要使用MultiValueMap来传递 RestTemplate 的 postForObject 方法有四个参数 String url => 顾名思义 这个参数是请求的url路径 Object request => 请求的body 这个参数需要再controller类用 @RequestBody 注解接收 Class responseType => 接收响应体的类型 第四个参数?postForObject 方法多种重构 Map<String

SpringMvc的Url映射和传参案例(转)

Springmvc的基本使用,包括url映射.参数映射.页面跳转.ajax和文件上传 以前学习的时候写的代码案例,今天整理笔记的时候找到了,很久没有来园子了,发上来当个在线笔记用吧,免的时间长了又忘了 package sy.controller; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.

spring mvc 重定向加传参

常用: ModelAndViewi: return new ModelAndView("redirect:/toList");  或者 ii:return "redirect:/toList"; 或者 iii:response.sendRedirect("index.html"); 1. 需求背景    需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页

SpringMvc的Url映射和传参案例

Springmvc的基本使用,包括url映射.参数映射.页面跳转.ajax和文件上传 以前学习的时候写的代码案例,今天整理笔记的时候找到了,很久没有来园子了,发上来当个在线笔记用吧,免的时间长了又忘了 package sy.controller; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.

spring jdbc传参及处理查询

传参有两种传参方式,一种直接传,一种通过对象传. 查询返回值,可以直接封进对象. public class springJdbcTest { private static JdbcTemplate jdbcTemplate; private static String uuid; @BeforeClass public static void init(){ ApplicationContext context = new ClassPathXmlApplicationContext("/spr