Как подключить ModelAndViewDefiningException для отправки ошибок в мое представление?
Это исключение.Вы бросаете его!
ModelAndViewDefiningException
- это оболочка исключения для ModelAndView
.Среда Spring распознает его, перехватывает, извлекает из него модель и имя представления и пересылает его в разрешенный вид, открывая вид для модели.
...
if (someBadThingy) {
ModelAndView modelAndView = new ModelAndView("errorView"); // "errorView" name resolved to a view by the ViewResolver of your app
throw new ModelAndViewDefiningException(modelAndView);
}
...
Вы можете выбросить его в любой момент во время обработки обработчика.Обычно внутри кода Controller вы обычно не генерируете исключение, потому что методы обработчика запросов контроллера возвращают ModelAndView
.Таким образом, вместо создания исключения с ModelAndView
внутри, вы можете просто вернуть ModelAndView
.
Но бывают ситуации, когда вы не можете вернуть ModelAndView
. Перехватчики являются хорошим примером этого, потому что их методы имеют void
или boolean
return.Если какое-либо условие не выполняется внутри перехватчика, ModelAndViewDefiningException
позволяет прервать поток и перейти к представлению ошибки.