SpringMVC:redirect传值与Flash

来源:互联网 发布:淘宝美工学费多少 编辑:程序博客网 时间:2024/06/15 21:17

转发和重定向,javaee程序员都懂得。
重定向传值直接就携带,没有传值问题
但是对于转发实际上是将浏览器定位定另一个页面(可以跨域,不讨论),页面传值有两种方式:
- 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!

0 0
原创粉丝点击