首页  /  世界杯意大利  /  Flash 属性

Flash 属性

世界杯意大利 7155

对于最新的稳定版本,请使用 Spring Framework 6.2.4!spring-doc.cadn.net.cn

Flash 属性

Flash 属性为一个请求提供了一种方法来存储旨在在

另一个。这在重定向时最常用 — 例如,

Post-Redirect-Get 模式。Flash 属性在

redirect(通常在会话中)提供给请求,以便在

redirect 并立即删除。spring-doc.cadn.net.cn

Spring MVC 有两个主要的抽象来支持 flash 属性。FlashMap已使用

以保留 Flash 属性,而FlashMapManager用于存储、检索和管理FlashMap实例。spring-doc.cadn.net.cn

Flash 属性支持始终处于“打开”状态,不需要显式启用。

但是,如果不使用,则永远不会导致 HTTP 会话创建。在每个请求中,都有一个

“输入”FlashMap替换为从前一个请求传递的属性(如果有)和

“输出”FlashMap替换为保存以供后续请求使用的属性。双FlashMap实例可以通过RequestContextUtils.spring-doc.cadn.net.cn

带注释的控制器通常不需要使用FlashMap径直。相反,一个@RequestMappingmethod 可以接受RedirectAttributes并使用它

为重定向方案添加 Flash 属性。通过RedirectAttributes会自动传播到“输出”FlashMap。同样地

重定向后,来自 “input” 的属性FlashMap会自动添加到Model提供目标 URL 的控制器。spring-doc.cadn.net.cn

将请求与 flash 属性匹配

flash 属性的概念存在于许多其他 Web 框架中,并且有时已被证明是

面临并发问题。这是因为,根据定义,flash 属性

将存储到下一个请求。但是,“下一个”请求可能不是

预期接收者,但另一个异步请求(例如,轮询或资源请求),

在这种情况下,flash 属性会过早删除。spring-doc.cadn.net.cn

为了减少此类问题的可能性,RedirectView自动 “stamps”FlashMap实例,其中包含目标重定向 URL 的 path 和 query 参数。在

turn 的FlashMapManager在以下情况下,将该信息与传入请求匹配

它查找 “input”FlashMap.spring-doc.cadn.net.cn

这并不能完全消除并发问题的可能性,但

使用重定向 URL 中已有的信息大大减少了它。

因此,我们建议您主要将 flash 属性用于重定向方案。spring-doc.cadn.net.cn

Spring Framework

Servlet 堆栈上的 Web

Spring Web MVC

带注释的控制器

处理程序方法

Flash 属性

重定向属性

多部分