@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
中所述。