Я испытываю очень странное поведение с Spring MVC 3.1.0.M2, которое неожиданно выдалось:
@Controller
@RequestMapping("/admin/participants/{participantId}")
public class ParticipantEditController extends ParticipantControllerSupport {
@ModelAttribute("participant")
public Participant getParticipant(
@PathVariable("participantId") final long participantId) {
// ...
}
@RequestMapping(value = "/{tab}/edit", method = RequestMethod.PUT)
public ModelAndView save(
@ModelAttribute("participant") final Participant participant,
final BindingResult errors) {
// ...
}
}
Когда я отправляю свою форму, я получаю следующее исключение:
java.lang.IllegalStateException: Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!
at org.springframework.web.method.annotation.support.ErrorsMethodArgumentResolver.resolveArgument(ErrorsMethodArgumentResolver.java:60)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:65)
...
Что меня беспокоит, так это то, что мой BindingResult
не сразу же следует атрибуту модели в сигнатуре метода.
Я пробовал это с аннотацией @Valid
и без неес более или менее другими параметрами, безрезультатно.
Кто-нибудь знает, что я делаю не так?Любая помощь с благодарностью.