SpringMVC:redirect传值与Flash
2016-08-25 20:17
337 查看
转发和重定向,javaee程序员都懂得。
重定向传值直接就携带,没有传值问题
但是对于转发实际上是将浏览器定位定另一个页面(可以跨域,不讨论),页面传值有两种方式:
- url携带参数
- session保存到重定向页面取出。
明显第一种方式太粗糙,尤其是携带敏感信息的时候,但是第二种方式的话会把一些不是很重要的数据放到Session,多耗性能啊!!其实我们的传值也许只是用在跳转到页面期间,那我们在跳转用完后在从Session中剔除不就可以了吗!!对,很好!这么牛X的Spring会没想当吗?当然不会!!!
Spring提供了Flash这个东西,实际就是完成上述的功能,但是我们怎么用呢?
ps:开始研究DispatcherServlet在默认属性文件中就看到一行,什么鬼?
Flash 想想我们以前常用的SD card Flash 。原来是闪存的意思。
继续:
Flash怎么用呢
很简单Model都知道,但是他有一个子接口:RedirectAttributes
里面定义了额外的方法:
通过这些方法我们就可以实现在重定向过程中传值,还不用管理他们,so easy!
重定向传值直接就携带,没有传值问题
但是对于转发实际上是将浏览器定位定另一个页面(可以跨域,不讨论),页面传值有两种方式:
- url携带参数
- session保存到重定向页面取出。
明显第一种方式太粗糙,尤其是携带敏感信息的时候,但是第二种方式的话会把一些不是很重要的数据放到Session,多耗性能啊!!其实我们的传值也许只是用在跳转到页面期间,那我们在跳转用完后在从Session中剔除不就可以了吗!!对,很好!这么牛X的Spring会没想当吗?当然不会!!!
Spring提供了Flash这个东西,实际就是完成上述的功能,但是我们怎么用呢?
ps:开始研究DispatcherServlet在默认属性文件中就看到一行,什么鬼?
Flash 想想我们以前常用的SD card Flash 。原来是闪存的意思。
org.springframework.web.servlet.FlashMapManager=org.springframework.web.servlet.support.SessionFlashMapManager
继续:
Flash怎么用呢
很简单Model都知道,但是他有一个子接口:RedirectAttributes
里面定义了额外的方法:
RedirectAttributes addFlashAttribute(String attributeName, Object attributeValue); RedirectAttributes addFlashAttribute(Object attributeValue); Map<String, ?> getFlashAttributes();
通过这些方法我们就可以实现在重定向过程中传值,还不用管理他们,so easy!
相关文章推荐
- SpringMVC-redirect重定向传值
- springmvc redirect传值
- SpringMVC:页面传值到后台,后台获取页面传值
- Springmvc中使用redirect:list.do 时无法跳转
- springMVC源码分析--FlashMap和FlashMapManager重定向数据保存
- SpringMVC---接收请求参数和页面传值
- HTML网页与FLASH之间的“静态”传值
- springMVC中RestTemplate传值接值方法
- springmvc传值
- SpringMVC redirect乱码问题
- springmvc中controller类方法之间如何传值
- springmvc整合jquer的json传值接收值
- Spring MVC Flash Attribute 解决POST/Redirect/GET模式问题缺陷
- springMVC源码分析--FlashMap和FlashMapManager重定向数据保存
- Springmvc中@RequestParam传值中文乱码解决方案
- SpringMVC的ModelAndView传值
- SpringMVC addFlashAttribute的分析与使用示例
- java-jsp springmvc-controller 传值到页面
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置
- springMVC重定向redirect传递参数