对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
闪光属性
Flash 属性为一个请求提供了一种存储用于 另一个。 这在重定向时最常需要——例如,Post-Redirect-Get 模式。Flash 属性在redirect(通常在会话中)之前临时保存,以便在redirect 之后提供给请求,并立即删除。
Spring MVC 有两个主要的抽象来支持 flash 属性。FlashMap
使用来保存 Flash 属性,而FlashMapManager
用于存储、检索和管理FlashMap
实例。
Flash 属性支持始终是“打开”的,不需要显式启用。但是,如果不使用,它永远不会导致 HTTP 会话创建。在每个请求上,都有一个“输入”FlashMap
具有从上一个请求传递的属性(如果有)和“输出”FlashMap
,以保存以供后续请求使用。 双FlashMap
实例可以通过RequestContextUtils
.
带注释的控制器通常不需要使用FlashMap
径直。 相反,一个@RequestMapping
方法可以接受类型为RedirectAttributes
并使用它为重定向场景添加 Flash 属性。通过添加的 Flash 属性RedirectAttributes
自动传播到“输出”FlashMap。 同样地 重定向后,来自“输入”的属性FlashMap
会自动添加到Model
提供目标 URL 的控制器。