您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么在GET重定向中清除SessionAttributes?

为什么在GET重定向中清除SessionAttributes?

因此,我在浏览代码和Internet,以查明为什么它不起作用。

Spring有两个完全独立的模型图- 一个用于标准视图渲染,另一个用于发布重定向时。可以在中观察到ModelAndViewContainer

现在,会话属性的持久性基于的结果mavContainer#getModel()完成。对于重定向方案,这将返回重定向模型。因此,您在标准Model/ 上设置的任何内容ModelMap都会丢失。

在谈论标准模型属性时,这很有意义。模型主要用于将对象传递给视图。使用重定向时,您要处理的是完全不同的情况。您想通过HTTP重定向传输对象-因此需要基于字符串和Flash 的分离模型。

但是我的感觉是,在设计此功能时,他们忘记了会话属性Spring的Jira中有一些不错的讨论,但是没有一个解决这个特定的问题。

而且它 因为这会阻止任何人在使用重定向时设置会话模型属性。强迫Spring通过RedirectAttributes#addFlashAttributeIMO 来存储您的会话属性是IMO 的一种 。

其他 2022/1/1 18:16:08 有485人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶