@SessionAttribute

如果您需要访问全局管理(即控制器外部,例如通过过滤器)且可能存在或不存在的预先存在的会话属性,您可以在方法参数上使用 @SessionAttribute 注解,如下例所示

  • Java

  • Kotlin

@GetMapping("/")
public String handle(@SessionAttribute User user) { (1)
	// ...
}
1 使用 @SessionAttribute
@GetMapping("/")
fun handle(@SessionAttribute user: User): String { (1)
	// ...
}
1 使用 @SessionAttribute

对于需要添加或删除会话属性的用例,请考虑将 WebSession 注入到控制器方法中。

对于在控制器工作流中将模型属性临时存储在会话中,请考虑使用 SessionAttributes,如 @SessionAttributes 中所述。