Доступ к Spring MVC BindingResult из представления

Я ищу способ получить доступ к 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?!

6
задан perdian 15 July 2011 в 09:55
поделиться