I think im confused a bit about session annotation in spring mvc.
I have code like this (2 steps form sample, step 1 user data, step 2 address)
@SessionAttributes({"user", "address"})
public class UserFormController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView show( ModelAndView mv ){
mv.addObject( new User() );
mv.addObject( new Address() );
mv.setViewName("user_add_page");
return mv;
}
@RequestMapping(method = RequestMethod.POST)
public String processForm( User user, BindingResult result ){
new UserValidator().validate(user, result);
if( result.hasErrors() ){
return "user_add_page";
}else{
return "redirect:/user_form/user_add_address";
}
// .........
}
Now if i submit page after my session expires i get error
org.springframework.web.HttpSessionRequiredException: Session attribute 'user' required - not found in session
How do i handle it? i would like to have 2 options
- i create empty objects if missing in session and accept submit
- i forward back to user form with some message
Im still in early stage of learning Spring so sorry if its something very obvious, i just cant see it.
ps. is that even the good way to solve this kind of form in spring mvc or would you recomment different approach?