Я ищу способ доступа к BindingResult
из представления (в моем случае это страница JSP).
У меня есть следующий метод контроллера:
@RequestMapping(value="/register/accept.html",method=RequestMethod.POST)
public ModelAndView doRegisterAccept(
@Valid @ModelAttribute("registrationData") RegistrationData registrationData,
BindingResult bindingResult
) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("bindingResultXXX", bindingResult);
modelAndView.setViewName("users/registration/register");
return modelAndView;
}
При выполнении этого, RegistrationData
get заполняется, а ошибки сохраняются в BindingResult
. Все идет нормально. Однако мне нужно вручную добавить BindingResult
в ModelAndView
, чтобы он стал видимым в представлении.
Есть ли способ автоматически добавить BindingResult
в модель? Я уже пытался настроить сигнатуру метода на
public ModelAndView doRegisterAccept(
@Valid @ModelAttribute("registrationData") RegistrationData registrationData,
@ModelAttribute("bindingResult") BindingResult bindingResult
) {
где я надеялся - как и любой другой параметр - BindingResult
будет добавлен в модель под ключом bindingResult
, но, к сожалению, это не работает.
Итак, есть идеи?
Добавление
Я только что обнаружил, что результаты действительно публикуются с помощью ключа
org.springframework.validation.BindingResult.<NAME_OF_MODEL_ATTRIBUTE>
так что я полагаю, что добавление его под простым именем не поощряется ребятами из Spring?!