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