В прошлом я использовал HTTP-заголовки для отправки сообщений реквестеру AJAX (объект XMLHTTPRequest).Таким образом, вы не получите полную поддержку привязки и проверки, но это простой способ передачи сообщений.
Другой вариант, который даст вам полную силу привязки и проверки Spring, заключается в следующем.Я предполагаю, что вы отправляете форму через AJAX.Вы можете выполнить стандартную пружинную привязку и проверку, а в случае ошибки отправить обратно и заменить форму сообщениями об исключениях рядом с вводом проблемы.Таким образом, вы можете использовать всю мощь связывания и проверки Spring, получая при этом AJAX-совершенство, которое вам нужно.Это потребует от вас разделения вашей формы на отдельную страницу JSP, чтобы вы могли просто вернуть эту форму при отправке и ошибке AJAX.
В ответ на комментарий
Моя проблема простокак получить доступ к BindingErrors из JSP, если я использую AbstractCommandController.Аякс на самом деле не так важен в уравнении.Я просто не хотел использовать formController, потому что это не имело смысла.
Я думаю вы можете просто установить переменную в вашей модели следующим образом:
ModelAndView.addObject(this.getCommandName(), errors)
Это будет сделано в методе AbstractCommandController
protected abstract ModelAndView handle(
HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors)
throws Exception
.Убедитесь, что имя атрибута модели соответствует имени вашей команды (задается в методе setCommandName).
Это не проверено и из памяти.