为什么在Spring MVC中使用@ModelAttribute("")
时需要@SessionAttribute
。
答案 0 :(得分:1)
@SessionAttribute
将您的数据保存在会话中。会话中存储的数据来自@ModelAttribute("")
。所以我们都需要。
例如:
@SessionAttributes("id")
public class LoginController {
@ModelAttribute("id")
public User setUpUserForm() {
return new id();
}
}
在上面的代码段中,如果'id'
和@ModelAttribute
注释的名称属性相同,则会将模型属性@SessionAttributes
添加到会话中。
@SessionAttributes
注释用于在会话中存储模型属性。
答案 1 :(得分:0)
@SessionAttributes
注释用于在会话中存储模型属性。此注释用于控制器类级别。
@SessionAttributes("user")
public class LoginController {
@ModelAttribute("user")
public User setUpUserForm() {
return new User();
}
}
在上面的代码段中,如果@ModelAttribute
和@SessionAttributes
注释的name属性相同,则会将模型属性“user”添加到会话中。
@SessionAttribute
注释还用于从全局管理的会话中检索现有属性,并在方法参数中使用,如下所示。
@GetMapping("/info")
public String userInfo(@SessionAttribute("user") User user) {
return "user";
}