Я думаю, что я немного запутался насчет аннотации сессии весной mvc.
У меня есть такой код (пример формы из 2 шагов, пользовательские данные шага 1, адрес шага 2)
@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";
}
// .........
}
Теперь, если я отправляю страницу после истечения моего сеанса, я получаю ошибку
org.springframework.web.HttpSessionRequiredException:
Требуется атрибут сеанса «пользователь» -
не найден в сеансе
Как мне справиться с этим? я хотел бы иметь 2 варианта
- я создаю пустые объекты, если отсутствует в сеансе, и принимаю submit
- я пересылаю обратно в форму пользователя с некоторым сообщением
Я все еще на ранней стадии изучения Spring, извините, если это что-то очень очевидное, я просто не могу этого увидеть.
пс. Это даже хороший способ решить эту форму весной MVC или вы бы порекомендовали другой подход?