@SessionAttribute

如果您需要访问全局管理(即控制器外部 - 例如,由过滤器)且可能存在也可能不存在的预先存在的会话属性,则可以在方法参数上使用@SessionAttribute 注解,如下例所示

  • Java

  • Kotlin

@RequestMapping("/")
public String handle(@SessionAttribute User user) { (1)
	// ...
}
1 使用@SessionAttribute 注解。
@RequestMapping("/")
fun handle(@SessionAttribute user: User): String { (1)
	// ...
}
1 使用@SessionAttribute 注解。======

对于需要添加或删除会话属性的用例,请考虑将org.springframework.web.context.request.WebRequestjakarta.servlet.http.HttpSession 注入到控制器方法中。

对于在会话中作为控制器工作流的一部分临时存储模型属性,请考虑使用@SessionAttributes,如@SessionAttributes 中所述。