我在使用spring mvc和session项时遇到了一个奇怪的问题。 我们有一个控制器类注释如下:
@SessionAttributes({"customerPosition"})
根据Spring文档,如果我将一个带有键customerPosition
的对象放入模型中,它会自动进入会话。
当我“{手动”设置项目为session.setAttribute("customerPosition",customerPosition)
时,我会将项目保存在会话中。如果我通过session.getAttribute("customerPosition")
从会话中获得此项目,我会得到一个不同的项目,而不是我期望的项目。实际上,我得到的是软件流程之前迭代的数据。
看起来session.setAttribute("customerPosition",customerPosition)
没有覆盖会话中的对象。
使用@SessionAttributes
是否会阻止通过session.setAttribute("customerPosition", customerPosition)