简体   繁体   English

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

[英]How to use @ModelAttributes and @SessionAttribute in spring MVC

I am doing a simple spring MVC project. 我正在做一个简单的Spring MVC项目。 There are three jsp pages page 1, page 2 and page 3. In page 1 and page 2 I have user form and I want to print two user's details in page 3. I think it could be solved using spring mvc annotation @ModelAttribute and @SessionAttribute but I don't know how to use them. jsp页面分为三个页面,分别是第1页,第2页和第3页。在第1页和第2页中,我有用户表单,并且我想在第3页中打印两个用户的详细信息。我认为可以使用spring mvc注释@ModelAttribute@SessionAttribute来解决。 @SessionAttribute但我不知道如何使用它们。 If anyone have any idea about my problem, please help me with a simple example 如果有人对我的问题有任何想法,请举一个简单的例子帮助我

It's documented in Spring Framework's documentation: 它记录在Spring Framework的文档中:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-sessionattrib 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";
    }
}

With this user1 and user2 will be available in your page3 有了这个user1和user2,您的页面3中将可用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM