最新的Spring Framework版本(3.1)带来了有趣的功能,称为Flash属性。 这是对我很久以前在我的一篇文章中提到的问题的补救措施: Spring MVC –会话属性处理。 这个问题可以用几句话来形容:如果我们想通过两个控制器之间的重定向传递属性,我们将无法使用请求属性(它们将无法在重定向中幸存),并且我们将无法使用Spring的@SessionAttributes (由于Spring处理的方式)它),只能使用普通的HttpSession,这不是很方便。

下面,您将找到Flash属性用法的示例,在开始对其进行检查之前,请阅读Spring文档的Using flash properties部分。

假设我们有两个控制器: AControllerBController ,第一个将准备一些数据并在提交表单后使用Flash属性传递给第二个。 在AController上,我们将具有以下内容:

@RequestMapping(method = RequestMethod.POST)
public String handleFormSubmission(..., final RedirectAttributes redirectAttrs) {...redirectAttrs.addFlashAttribute("AttributeName", value);return "redirect:to_some_url_handled_by_BController";
}

提交表单后,属性值将存储为名为“ AttributeName”的Flash属性 ,由于使用了Spring,该属性值将传递给BController ,在其中可以通过以下方式使用它:

@Controller
...
@SessionAttributes("AttributeName")
public class SearchCriteriaHandler {...@RequestMapping(method = RequestMethod.GET)public void handleGetRequest(@ModelAttribute("AttributeName") final SomeType value) {...}...
}

之前你的处理方法会被调用, Spring框架将填充与现有的Flash中的模型属性 -从AController过了这个点值将成为BController一个模型属性。 请注意,由于我们还将此属性定义为Session Attribute ,因此在处理GET请求之后,它将自动存储该控制器以供将来使用。

我说我已经等了很长时间了;;)

相关文章: Spring MVC –会话属性处理

参考: Spring MVC –来自我们JCG合作伙伴的 Flash属性   Micha? 术士思想博客上的Ja?tak。

翻译自: https://www.javacodegeeks.com/2012/02/spring-mvc-flash-attributes.html

Spring MVC – Flash属性相关推荐

  1. Spring源码——Spring MVC

    前言 内容主要参考自<Spring源码深度解析>一书,算是读书笔记或是原书的补充.进入正文后可能会引来各种不适,毕竟阅读源码是件极其痛苦的事情. 本文主要涉及书中第十一章的部分,依照书中内 ...

  2. Spring源码深度解析(郝佳)-学习-源码解析-Spring MVC(一)

    Spring框架提供了构建Web应用程序的全部功能MVC模块,通过策略接口,Spring框架是高度可配置的,而且支持多种视图技术,例如JavaServer Pages(JSP),Velocity,Ti ...

  3. java mvc 绑定_关于Java:Spring MVC:将请求属性绑定到控制器方法参数

    在Spring MVC中,很容易将请求参数绑定到处理请求的方法参数. 我只是使用@RequestParameter("name"). 但是我可以对request属性做同样的事情吗? ...

  4. spring_在Spring MVC中使用多个属性文件

    spring 每个人都听说过将单个Web应用程序组合成一个大型Web应用程序的门户. 门户软件的工作原理类似于mashup -来自多个来源的内容是在单个服务中获取的,大部分都显示在单个网页中. 门户软 ...

  5. spring MVC请求处理类注解属性详解

    spring MVC请求处理类注解属性详解

  6. spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式

    spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式   在类名,接口头上注解使用在 @JsonIgnoreProperties(value={"comid" ...

  7. Spring MVC集成测试:断言给定的模型属性有全局错误

    为了使用Bean验证报告Spring MVC中的全局错误,我们可以创建一个自定义的类级别约束注释. 全局错误与已验证Bean中的任何特定字段都不相关. 在本文中,我将展示如何使用Spring Test ...

  8. 在Spring MVC中使用多个属性文件

    每个人都听说过将单个Web应用程序组合成一个大型应用程序的门户. 门户软件的工作原理类似于mashup -来自多个来源的内容在单个服务中被拾取,大部分显示在单个网页中. 门户软件还允许在嵌入到门户软件 ...

  9. spring mvc校验部分属性,springmvc校验属性,java.lang.ClassNotFoundException: com.fasterxml.classmate.Filter

    spring mvc校验部分属性,springmvc校验属性 转载请注明: TheViper http://www.cnblogs.com/TheViper 基于JSR303注解校验 问题的出现 一个 ...

最新文章

  1. 在Python中连接字符串的首选方法是什么?
  2. python程序员在公司都是做什么的-为什么企业很难招聘到好的python程序员?
  3. 【Java_多线程并发编程】基础篇—线程状态及实现多线程的两种方式
  4. TensorRT学习笔记1 - 环境配置
  5. mysql 导出dmp文件_MySQL数据库基础讲解
  6. 属性编辑器未在PropertyEditorManager中注册?
  7. LeetCode 316. 去除重复字母 / 1081. 不同字符的最小子序列(单调栈)
  8. macos 下 vmware fusion 安装 vmware tools教程
  9. 敏捷开发日常跟进系列之四:跟进表
  10. linux下查看用户个数和具体名字
  11. 第13章Stata Logistic回归分析
  12. ipa逆向分析class-dump的安装和使用
  13. 软件测试周刊(第37期):不能随便生气
  14. 小马哥---高仿红米note 主板型号W9-MP-V 1.2字库损坏 软件修复实例
  15. 记一次IOS打包报错
  16. CSR BC417143BGQ蓝牙模块芯片替换方案
  17. The Devil Wears Prada-18
  18. 孩子的同学写的:《恋秋 忆秋 叹秋》
  19. linux终端窗口如何切换快捷键,【linux基础】Ubuntu下的终端多标签切换快捷键
  20. 数字图像处理 线性系统、卷积、傅立叶变换

热门文章

  1. 在diy的文件系统上创建文件的流程
  2. spring 配置只读事务_只读副本和Spring Data第3部分:配置两个实体管理器
  3. java 线性回归算法_线性搜索或顺序搜索算法在Java中如何工作? 示例教程
  4. java –cp_Java –缺少字体–崩溃的应用程序!
  5. 公有云 私有云 混合云_混合云的承诺,收益和产品
  6. aws集群重启_在AWS中设置Cassandra集群
  7. jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式
  8. lock.lock_HibernateCascadeType.LOCK陷阱
  9. java面试解决项目难题_Java转换难题者,不适合工作(或面试)
  10. Java 13:文本块