Как обрабатывать исключения, возникающие при рендеринге представления в Spring MVC?

У меня есть приложение Spring MVC, которое использует FreeMarker в качестве технологии View (но, возможно, технология просмотра не имеет большого значения для моего вопроса). Мне нужно перехватить все исключения, которые могут быть выброшены во время запроса.

Я реализовал HandlerExceptionResolver, но этот распознаватель выполняется только тогда, когда исключение происходит в контроллере. Но когда контроллер возвращает ModelAndView и исключение возникает при рендеринге представления (потому что переменная не была найдена или что-то в этом роде), то распознаватель исключений не вызывается, и вместо этого я получаю трассировку стека в окне браузера.

Я также попытался использовать метод обработчика исключений в контроллере, который возвращает представление и аннотировал его @ExceptionHandler но это также не работает (скорее всего, снова, потому что исключение генерируется не в контроллере, а в представлении).

Так существует ли какой-нибудь механизм Spring, где я могу зарегистрировать обработчик исключений, который фиксирует ошибки просмотра?

27
задан kayahr 28 June 2012 в 13:37
поделиться