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