Я ищу способ получить доступ к 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
заполняется, а ошибки сохраняются в 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?!