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