关于SpringMVC请求域对象的数据共享问题
SpringMVC支持路径中的占位符。
可以通过路径的方式来传参。restful风格。使用{}
做占位符在路径中指定参数,使用@PathVariable
注解在参数列表中指定。
<a th:href="@{/test/1}">传了参数</a> @RequestMapping("/test/{id}") public String test(@PathVariable("id")Integer id){ System.out.println(id); return "index"; }
如果使用了占位符则请求地址必须有值,否则会报404错误。
获取请求参数
使用ServletAPI获取(基本不用)
@RequestMapping("/testParam") public String Param(HttpServletRequest request){ String userName = request.getParameter("userName"); String password = request.getParameter("password"); return "index"; }
通过控制器的形参获取(保证参数名相同的情况下)牛逼
<a th:href="@{/testParam(username='admin',password='123')}">传了参数</a> @RequestMapping("/testParam") public String testParam(String username,String password){ System.out.println("username:"+username+",password:"+password); return "index"; }
RequestParam
请求参数和控制器形参创建映射关系。
- Value
- Required
- DefaultValue
使用实体类接受请求参数
@RequestMapping("/testPojo") public String testPojo(User user){ System.out.println(user); return "index"; }
配置过滤器,处理乱码问题
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!--设置字符集--> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <!--强制响应字符集--> <init-param> <param-name>forceResponseEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
域对象共享数据
使用原生ServletAPI向request域对象共享数据(不用)
@RequestMapping("/test") public String test(HttpServletRequest request){ request.setAttribute("hello","hello"); return "index"; }
使用ModelAndView
对象
返回值类型为ModelAndView
//使用ModelAndView对象的方式 @RequestMapping("/") public ModelAndView toIndex(HttpServletRequest request){ ModelAndView mav = new ModelAndView(); //设置共享数据 mav.addObject("result","mavResult"); //设置视图名称 //视图名称=逻辑视图名称。 mav.setViewName("index"); return mav; }
使用Model
对象
Model是一个接口,因此不能像ModelAndView那样去new。
//使用Model对象的方式 @RequestMapping("/") public String toIndexModel(Model model){ //设置共享数据 model.addAttribute("result","ModelResult"); return "index"; }
使用Map集合
//使用Map对象的方式 @RequestMapping("/") public String toIndexModel(Map<String,Object> map){ //设置共享数据 map.put("result","MapResult"); return "index"; }
使用ModelMap
ModelMap的实例是由mvc框架自动创建并作为控制器方法参数传入,无需也不能自己创建。
如自己创建,则无法共享数据。
//使用ModelMap对象的方式 @RequestMapping("/") public String toIndexModel(ModelMap modelMap){ //设置共享数据 modelMap.addAttribute("result","ModelMapResult"); return "index"; }
到此这篇关于SpringMVC请求域对象的数据共享的文章就介绍到这了,更多相关SpringMVC请求域对象内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://www.cnblogs.com/Boerk/p/15860006.html
相关文章
使用jQuery.form.js/springmvc框架实现文件上传功能
这篇文章主要介绍了使用jQuery.form.jsspringmvc框架实现文件上传功能,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-14- 这篇文章主要介绍了SpringMVC和rabbitmq集成的使用案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-20
SpringMVC中的handlerMappings对象用法
这篇文章主要介绍了SpringMVC中的handlerMappings对象用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-26SpringMVC如何获取表单数据(radio和checkbox)
这篇文章主要介绍了SpringMVC如何获取表单数据(radio和checkbox)的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-06- 今天带大家学习SpringMVC的相关知识,文中对SpringMVC数据输出作了非常详细的代码示例,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下...2021-06-06
- 这篇文章主要给大家介绍了关于SpringMVC处理数据输出的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-02
- 这篇文章主要介绍了使用springmvc临时不使用视图解析器的自动添加前后缀,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-29
- 这篇文章主要介绍了springMVC web.xml中的配置加载顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-30
- 大家应该都知道请求重定向和请求转发都是web开发中资源跳转的方式,这篇文章主要给大家介绍了关于Spring MVC重定向与转发的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2021-09-07
- 这篇文章主要介绍了SpringMVC @RequestBody的使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-11-05
- 今天小编就为大家分享一篇解决SpringMVC接收不到ajaxPOST参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-08-20
- shiro可以直接和spring整合,但是这样需要单独配置spring用于整合shiro,在配置springmvc,接下来通过实例代码给大家介绍shiro 整合 SpringMVC 的方法,感兴趣的朋友一起看看吧...2021-08-14
- 这篇文章主要介绍了浅谈springMVC中controller的几种返回类型,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-27
- Springmvc接受请求参数的几种介绍,如何接受json请求参数,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧...2021-07-24
- 这篇文章主要介绍了SpringMVC自定义拦截器登录检测功能的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-08
springmvc HttpServletRequest 如何获取c:forEach的值
这篇文章主要介绍了springmvc HttpServletRequest 如何获取c:forEach的值方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-16- Spring MVC 属于Spring Framework的一部分,是一种Spring框架内置的MVC的实现。这篇文章主要介绍了SpringMVC在IDEA中的第一个程序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-01
springmvc 获取@Requestbody转换的异常处理方式
这篇文章主要介绍了springmvc 获取@Requestbody转换的异常处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-14SpringMVC配置多个properties文件之通配符解析
这篇文章主要介绍了SpringMVC配置多个properties文件之通配符解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-08- 这篇文章主要介绍了基于SpringMVC中的路径参数和URL参数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23