В данный момент я пытаюсь реализовать шаблон Post / Redirect / Get с помощью Spring MVC 3.1. Как правильно сохранить и восстановить данные модели + ошибки проверки? Я знаю, что могу сохранить модель и BindingResult с помощью RedirectAttributes в моем методе POST. Но как правильно восстановить их в методе GET из области флеш-памяти?
Я сделал следующее для POST:
@RequestMapping(value = "/user/create", method = RequestMethod.POST)
public String doCreate(@ModelAttribute("user") @Valid User user, BindingResult result, RedirectAttributes rA){
if(result.hasErrors()){
rA.addFlashAttribute("result", result);
rA.addFlashAttribute("user", user);
return "redirect:/user";
}
return "redirect:/user/success";
}
И следующее, чтобы получить форму создания пользователя:
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView showUserForm(@ModelAttribute("user") User user, ModelAndView model){
model.addObject("user", user);
model.setViewName("userForm");
return model;
}
Это позволяет мне сохранить данные пользователя в случае ошибки. Но как правильно исправить ошибки? (BindingResult) Я хотел бы показать их в форме с тегами пружинной формы:
<form:errors path="*" />
Кроме того, было бы интересно, как получить доступ к области флеш-памяти из метода get?