Browse Source

DispatcherServlet applies view name translation to error views as well (SPR-7298)

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3433 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/head
Juergen Hoeller 16 years ago
parent
commit
a139f3b337
  1. 15
      org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

15
org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

@ -996,12 +996,10 @@ public class DispatcherServlet extends FrameworkServlet {
* @return a corresponding ModelAndView to forward to * @return a corresponding ModelAndView to forward to
* @throws Exception if no error ModelAndView found * @throws Exception if no error ModelAndView found
*/ */
protected ModelAndView processHandlerException(HttpServletRequest request, protected ModelAndView processHandlerException(HttpServletRequest request, HttpServletResponse response,
HttpServletResponse response, Object handler, Exception ex) throws Exception {
Object handler,
Exception ex) throws Exception {
// Check registerer HandlerExceptionResolvers... // Check registered HandlerExceptionResolvers...
ModelAndView exMv = null; ModelAndView exMv = null;
for (HandlerExceptionResolver handlerExceptionResolver : this.handlerExceptionResolvers) { for (HandlerExceptionResolver handlerExceptionResolver : this.handlerExceptionResolvers) {
exMv = handlerExceptionResolver.resolveException(request, response, handler, ex); exMv = handlerExceptionResolver.resolveException(request, response, handler, ex);
@ -1013,9 +1011,12 @@ public class DispatcherServlet extends FrameworkServlet {
if (exMv.isEmpty()) { if (exMv.isEmpty()) {
return null; return null;
} }
// We might still need view name translation for a plain error model...
if (!exMv.hasView()) {
exMv.setViewName(getDefaultViewName(request));
}
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug("Handler execution resulted in exception - forwarding to resolved error view: " + exMv, logger.debug("Handler execution resulted in exception - forwarding to resolved error view: " + exMv, ex);
ex);
} }
WebUtils.exposeErrorRequestAttributes(request, ex, getServletName()); WebUtils.exposeErrorRequestAttributes(request, ex, getServletName());
return exMv; return exMv;

Loading…
Cancel
Save