@SessionAttribute

如果您需要存取全域管理(亦即在控制器外部 — 例如,由篩選器)且可能存在或可能不存在的預先存在的 session 屬性,您可以在方法參數上使用 @SessionAttribute 註解,如下列範例所示

  • Java

  • Kotlin

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

對於需要新增或移除 session 屬性的使用案例,請考慮將 WebSession 注入到控制器方法中。

對於在 session 中暫時儲存模型屬性作為控制器工作流程的一部分,請考慮使用 SessionAttributes,如 @SessionAttributes 中所述。