@SessionAttribute在Spring MVC中是如何工作的?

@SessionAttribute在Spring MVC中是如何工作的?,spring,spring-mvc,Spring,Spring Mvc,为什么在Spring MVC中使用@SessionAttribute时需要@ModelAttribute(“”)。@SessionAttribute将您的数据保留在会话中。会话上存储的数据来自@modeldattribute(“”)。所以我们两者都需要。 例如: @SessionAttributes("id") public class LoginController { @ModelAttribute("id") public User setUpUserForm() {

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

@SessionAttribute
将您的数据保留在会话中。会话上存储的数据来自
@modeldattribute(“”)
。所以我们两者都需要。 例如:

@SessionAttributes("id")
public class LoginController {

    @ModelAttribute("id")
    public User setUpUserForm() {
        return new id();
    }
}
在上面的代码片段中,如果
@modeldattribute
@SessionAttributes
注释的name属性相同,那么模型属性
'id'
将添加到会话中


@SessionAttributes
注释用于在会话中存储模型属性。

@SessionAttributes
注释用于在会话中存储模型属性。此注释用于控制器类级别

@SessionAttributes("user")
public class LoginController {

    @ModelAttribute("user")
    public User setUpUserForm() {
        return new User();
    }
}
在上面的代码片段中,如果
@modeldattribute
@SessionAttributes
注释的name属性相同,则模型属性“user”将添加到会话中


@SessionAttribute
注释还用于从全局管理的会话检索现有属性,并在方法参数处使用,如下所示

@GetMapping("/info")
public String userInfo(@SessionAttribute("user") User user) {
    return "user";
}

会话是一种模型吗?