org.springframework.web.servlet.handler
Class SimpleMappingExceptionResolver

java.lang.Object
  extended byorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver
All Implemented Interfaces:
HandlerExceptionResolver, Ordered

public class SimpleMappingExceptionResolver
extends java.lang.Object
implements HandlerExceptionResolver, Ordered

Exception resolver that allows for mapping exception class names to view names, either for a list of given handlers or for all handlers in the DispatcherServlet.

Error views are analogous to error page JSPs, but can be used with any kind of exception including any checked one, with fine-granular mappings for specific handlers.

Since:
22.11.2003
Author:
Juergen Hoeller

Field Summary
static java.lang.String DEFAULT_EXCEPTION_ATTRIBUTE
           
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
SimpleMappingExceptionResolver()
           
 
Method Summary
protected  ModelAndView getModelAndView(java.lang.String viewName, java.lang.Exception ex)
          Return a ModelAndView for the given view name and exception.
 int getOrder()
          Return the order value of this object, higher value meaning greater in terms of sorting.
 ModelAndView resolveException(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler, java.lang.Exception ex)
          Try to resolve the given exception that got thrown during on handler execution, returning a ModelAndView that represents a specific error page if appropriate.
 void setDefaultErrorView(java.lang.String defaultErrorView)
          Set the name of the default error view.
 void setExceptionAttribute(java.lang.String exceptionAttribute)
          Set the name of the model attribute as which the exception should be exposed.
 void setExceptionMappings(java.util.Properties mappings)
          Set the mappings between exception class names and view names.
 void setMappedHandlers(java.util.List mappedHandlers)
          Set the list of handlers that this exception resolver should map.
 void setOrder(int order)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_EXCEPTION_ATTRIBUTE

public static final java.lang.String DEFAULT_EXCEPTION_ATTRIBUTE
See Also:
Constant Field Values

logger

protected final org.apache.commons.logging.Log logger
Constructor Detail

SimpleMappingExceptionResolver

public SimpleMappingExceptionResolver()
Method Detail

setOrder

public void setOrder(int order)

getOrder

public int getOrder()
Description copied from interface: Ordered
Return the order value of this object, higher value meaning greater in terms of sorting. Normally starting with 0 or 1, Integer.MAX_VALUE indicating greatest. Same order values will result in arbitrary positions for the affected objects.

Higher value can be interpreted as lower priority, consequently the first object has highest priority (somewhat analogous to Servlet "load-on-startup" values).

Specified by:
getOrder in interface Ordered
Returns:
the order value

setExceptionMappings

public void setExceptionMappings(java.util.Properties mappings)
                          throws java.lang.ClassNotFoundException
Set the mappings between exception class names and view names.

Parameters:
mappings - fully qualified exception class names as keys, and view names as values
Throws:
java.lang.ClassNotFoundException

setDefaultErrorView

public void setDefaultErrorView(java.lang.String defaultErrorView)
Set the name of the default error view. This view will be returned if no specific mapping was found. Default is null.


setMappedHandlers

public void setMappedHandlers(java.util.List mappedHandlers)
Set the list of handlers that this exception resolver should map. The exception mappings will only apply to those handlers. If none set, the exception mappings will apply to all handlers.


setExceptionAttribute

public void setExceptionAttribute(java.lang.String exceptionAttribute)
Set the name of the model attribute as which the exception should be exposed. Default is "exception".

See Also:
DEFAULT_EXCEPTION_ATTRIBUTE

resolveException

public ModelAndView resolveException(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     java.lang.Object handler,
                                     java.lang.Exception ex)
Description copied from interface: HandlerExceptionResolver
Try to resolve the given exception that got thrown during on handler execution, returning a ModelAndView that represents a specific error page if appropriate.

Specified by:
resolveException in interface HandlerExceptionResolver
Parameters:
request - current HTTP request
response - current HTTP response
handler - the executed handler
ex - the exception that got thrown during handler execution
Returns:
a matching ModelAndView to forward to, or null for default processing

getModelAndView

protected ModelAndView getModelAndView(java.lang.String viewName,
                                       java.lang.Exception ex)
Return a ModelAndView for the given view name and exception. Default implementation adds the specified exception attribute. Can be overridden in subclasses.

Parameters:
viewName - the name of the error view
ex - the exception that got thrown during handler execution
Returns:
the ModelAndView instance
See Also:
setExceptionAttribute(java.lang.String)


Copyright (C) 2003-2004 The Spring Framework Project.