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