|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
@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.WebRequest 或 jakarta.servlet.http.HttpSession 注入到控制器方法中。
若需在控制器工作流中将会话中的模型属性进行临时存储,请考虑使用 @SessionAttributes,具体说明请参阅 @SessionAttributes。