如何在spring MVC中使用@ModelAttributes和@SessionAttribute

时间:2016-10-19 08:39:05

标签: java spring spring-mvc

我正在做一个简单的春季MVC项目。页面1,页面2和页面3有三个jsp页面。在第1页和第2页我有用户表单,我想在第3页打印两个用户的详细信息。我认为可以使用spring mvc annotation {{1}来解决}和@ModelAttribute但我不知道如何使用它们。 如果有人对我的问题有任何疑问,请帮我一个简单的例子

1 个答案:

答案 0 :(得分:2)

它在Spring Framework的文档中有记录:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-sessionattrib

@Controller
@SessionAttributes(value = {"user1", "user2"})
public class MyController {
    // ...

    @GetMapping("/page1")
    public String page1(ModelMap model){
        model.put("user", new User());
        return "page1";
    }

    @PostMapping("/page1")
    public String page1Post(@ModelAttribute("user") User user, ModelMap model{
        model.put("user1", user);
        model.put("user", new User());
        return "page2";
    }

    @PostMapping("/page2")
    public String page2Post(@ModelAttribute("user") User user, ModelMap model{
        model.put("user2", user);
        return "page3";
    }
}

这个user1和user2将在你的page3中可用