@SessionAttribute如何在Spring MVC中运行?

时间:2018-04-04 07:09:02

标签: spring spring-mvc

为什么在Spring MVC中使用@ModelAttribute("")时需要@SessionAttribute

2 个答案:

答案 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";
}