У меня есть ErrorFilter
, который расширяет Spring GenericFilterBean
. Я хочу показать страницу с ошибкой, украшенную плитками, если какая-то ошибка
Есть ли способ задать имя представления из фильтра?
errorFilter
com.abc.filter.ErrorFilter
errorPage
/jsp/errorpage.jsp
Это конфигурация в web.xml
и метод doFilter
в errorfilter
выглядит следующим образом:
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) req;
StringBuffer reqUrl = httpReq.getRequestURL();
try {
chain.doFilter(req, resp);
} catch (Exception ex) {
String requestRepresentation = createRequestRepresentation(req);
errorService.handleException(reqUrl.toString(), ex, requestRepresentation);
req.getRequestDispatcher(
getFilterConfig().getInitParameter("errorPage")).forward(req, resp);
} catch (Error er) {
errorService.handleError(reqUrl.toString(), er);
req.getRequestDispatcher(
getFilterConfig().getInitParameter("errorPage")).forward(req, resp);
}
}
Текущая страница ошибок не украшена плитками, поэтому я хочу украсить ее обычным верхним и нижним колонтитулами и вызвать это имя представления из фильтра.
Возможно ли это?
Изменить: По сути, мы хотим иметь возможность делать что-то похожее на метод контроллера, т.е. return "имя представления";
Уже пробовали: