|
对于最新的稳定版本,请使用 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 的控制器。