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 andsomeCombobox. 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.



http://www.roseindia.net/tutorial/spring/spring3/web/SessionAttributes-multiple-values.html
저작자 표시 비영리
신고
Posted by jeonguk