@SessionAttribute
@SessionAttribute
如果你需要访问全局管理的现有会话属性(即,在控制器之外管理的属性,例如由过滤器管理)并且这些属性可能存在也可能不存在,你可以在方法参数上使用 @SessionAttribute
注解,如下例所示:
- Java
- Kotlin
@RequestMapping("/")
public String handle(@SessionAttribute User user) { 1
// ...
}
使用
@SessionAttribute
注解。
@RequestMapping("/")
fun handle(@SessionAttribute user: User): String { 1
// ...
}
使用
@SessionAttribute
注解。
对于需要添加或删除会话属性的用例,可以考虑将 org.springframework.web.context.request.WebRequest
或 jakarta.servlet.http.HttpSession
注入到控制器方法中。
作为控制器工作流的一部分,为了在会话中临时存储模型属性,可以考虑使用 @SessionAttributes
,如 @SessionAttributes 中所述。