@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.Session注入到控制器方法中。
作为控制器工作流程的一部分,若需要在会话中临时存储模型属性,可考虑使用@SessionAttributes,具体用法请参见@SessionAttributes。