Я пытаюсь отобразить список глобальных ошибок проверки в моем шаблоне freemarker, если контроллер возвращает ошибки привязки.Я могу отображать ошибки, связанные с полем, но я хочу определить, когда произошла ошибка в конкретном компоненте, и отобразить сообщение в верхней части страницы.Я попытался использовать приведенный ниже пример, который не производит вывод:
<@spring.bind "webPage" />
....
<#if spring.status.error>
There were problems with the data you entered:
<ul>
<#list spring.status.errorMessages as error>
<li>${error?html}</li>
</#list>
</ul>
</#if>
В строке ниже всегда возвращается 0, несмотря на наличие ошибок в отправленной форме:
${spring.status.errorMessages?size}
Мой код контроллераниже:
@RequestMapping(method = RequestMethod.POST)
public ModelAndView save(@ModelAttribute("webPage") @Valid WebPage page, BindingResult result, Model model) {
if (!model.containsAttribute("site")) {
throw new IllegalArgumentException("Model must contain site attribute.");
}
Site site = (Site) model.asMap().get("site");
if (!result.hasErrors() && !page.isNew()) {
this.pageService.save(page, site);
} else if (!result.hasErrors() && page.isNew()) {
this.pageService.create(page, site);
}
return createMav(result);
}
Ниже приведен метод createMav:
public ModelAndView createMav(BindingResult result) {
ModelAndView mav = new ModelAndView();
mav.setViewName(getPrimaryControllerView());
mav.addAllObjects(result.getModel());
return mav;
}
Есть ли способ добиться этого с помощью Freemarker + Spring MVC?