Examples shows you how you can use @SessionAttributes to hold multiple session values.
Examples shows you how you can use @SessionAttributes to hold multiple session values.@SessionAttributes multiple values
In this section we will see how you can use @sessionattributes to set multiple session values to it.
While developing the application using Spring MVC can use the @sessionattributes attribute to save some data. This session data can be used in the UI form.
In the following example we are using @sessionattributes to put two session values formdata and someCombobox. The correct way to use @sessionattributes for multiple values are:
@SessionAttributes({"formdata","someCombobox"})
Note that the variable are in curly braces.
Here is the complete list of the code:
import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.SessionAttributes; @Controller @RequestMapping("/myform.htm") @SessionAttributes({"formdata","someCombobox"}) public class TutorialController { @RequestMapping(method = RequestMethod.GET) public String showForm( HttpServletRequest request, HttpServletResponse response, ModelMap model) { MyFormDataClass t = new MyFormDataClass(); model.put("formdata", t ); List list = new ArrayList(); //Add some values in list list.put("Something"); //Add the list to the session model.put("someCombobox", list ); return "AddEditForm"; } @RequestMapping(method = RequestMethod.POST) public String onSubmit(@ModelAttribute("formdata") MyFormDataClass t) { System.out.println(t.getId()); return "redirect:tutorialsuccess.htm"; } }
With the help of @SessionAttributes you can define multiple session variables.