@SessionAttribute
如果你需要访问全局管理(即在控制器外部,例如通过过滤器)且可能存在也可能不存在的预先存在的会话属性,你可以在方法参数上使用 @SessionAttribute
注解,如下例所示:
- Java
-
@GetMapping("/") public String handle(@SessionAttribute User user) { [id="CO1-1"][id="CO1-1"][id="CO1-1"](1) // ... }
<1> 使用 `@SessionAttribute`。
- Kotlin
-
@GetMapping("/") fun handle(@SessionAttribute user: User): String { [id="CO2-1"][id="CO1-2"][id="CO2-1"](1) // ... }
<1> 使用 `@SessionAttribute`。
对于需要添加或删除会话属性的用例,请考虑将 WebSession
注入到控制器方法中。
对于在控制器工作流中将模型属性临时存储在会话中,请考虑使用 SessionAttributes
,如 @SessionAttributes
中所述。