@SessionAttribute@uthark提到的注释不适合此任务-
我认为也是,但有些阅读反而表明:
使用此批注指示的会话属性对应于特定处理程序的模型属性,并透明地存储在会话会话中。一旦处理程序指示其会话会话完成,这些属性将被删除。因此,将此功能用于这样的会话属性,这些属性应该在特定处理程序的会话过程中临时存储在会话中。
对于永久会话属性,例如用户身份验证对象,请改用传统的session.setAttribute方法。或者,考虑使用通用WebRequest接口的属性管理功能。
换句话说,
@SessionAttribute用于将会话MVC模型对象存储在会话中(与将它们存储为请求属性相反)。它不适用于任意会话属性。正如您所发现的,只有在session属性始终存在的情况下它才起作用。
我不知道还有其他选择,我认为您一直坚持
HttpSession.getAttribute()



