Мне было интересно, есть ли в Spring какой-то способ указать в контроллере, что я хотел бы отправить клиента на конкретную привязку на странице .jsp, которую я использую для своего просмотра.
IУ меня есть раздел на моей странице .jsp, идентифицируемый якорем #errors
, который отображает любые возникающие ошибки формы.Я хотел бы иметь возможность отправлять их непосредственно на этот якорь всякий раз, когда мне нужно отправить их обратно в .jsp после сбоя проверки модели.
Внутри моих классов контроллеров я обрабатываю ошибки проверки следующим образом:
if (result.hasErrors())
{
for (ObjectError error : result.getAllErrors())
{
logger.debug("Validation Error: " + error.getDefaultMessage());
}
ModelAndView mv = new ModelAndView();
mv.setViewName("/secure/formViews/newAdminBookingMenu");
mv.addObject(BindingResult.MODEL_KEY_PREFIX + "booking", result);
return mv;
}
Я хотел бы иметь возможность указать в этом блоке кода, что когда клиент получает отрендеренные newAdminBookingMenu.jsp
обратно, они отправляются непосредственно в тег привязки #errors
на этой странице.
Я, очевидно, не могу сделать это, просто добавив #errors
к имени .jsp, которое я хочу визуализировать, поскольку InternalResourceViewResolver интерпретирует представление как /WEB-INF/jsp/jspName#errors.jsp
, что явно неверно.
Я знаю, что это может бытьдостигнуто с помощью javascript и события onload
, но я нахожу этот вид грязным и действительно предпочел бы найти подход Spring, если таковой существует.
Есть идеи?
Приветствия.