Spring MVC - passing variables from one page to anther

后端 未结 3 1508
野的像风
野的像风 2020-12-19 17:01

I need help. I am working on a project where I have multiple pages and multiple forms; each page has one form. I just need to be able to pass values from one jsp to another.

相关标签:
3条回答
  • 2020-12-19 17:22

    You have to persist the user entered information on the first page either using a hidden variable as mentioned above by JB Nizet. Or you can set the value in the model attribute that will be returned on your corresponding controllers.

    The pseudo code for you.

    formPage1.jsp --> Controller1 --> set the values in this form by retrieving it from the Request object --> formPage2a.jsp --> Controller2 will have val frm both pg1 & pg2a.

    In this way there is no need to maintain a session attribute.

    0 讨论(0)
  • 2020-12-19 17:27

    You could also use session attributes, either manually, such as:

    public ModelAndView handleRequest(HttpServletRequest request){
          request.getSession().getAttribute("nameOfAttribute");
    }
    

    Apologies for writing this as an annotated controller, I do not recall if xml config controllers offer this feature...

    There is no Spring code involved for that. The other option is to use the @SessionAttribute annotation on your controller:

    @Controller 
    @SessionAttributes("nameOfAttribute")
    public class MyController{
    //your session attribute can be accessed in controller methods using @ModelAttribute
    public ModelAndView handleRequest(@ModelAttribute("nameOfAttribute")){
          session.getAttribute("nameOfAttribute");
    }
    

    Note

    You will need to clear the session attribute when you are done with it:

    request.getSession().setAttribute("nameOfAttribute", null);
    
    0 讨论(0)
  • 2020-12-19 17:27

    The simplest way is to use hidden fields in the second page(s) to store what the user has enetered in the first form. This way, all the fields, inclusing those from the first page, will be submitted with the second form(s).

    0 讨论(0)
提交回复
热议问题