Spring:SimpleMappingExceptionResolver和@ExceptionHandler一起?

时间:2011-06-14 12:46:05

标签: spring spring-mvc

我喜欢SimpleMappingExceptionResolver,因为在一个地方我拥有web-app中所有控制器的所有异常 - >视图映射(我想是这样)。要在特定控制器中自定义某些异常,我想使用@ExceptionHandler,但它不能同时工作 - 所有异常都由SimpleMappingExceptionResolver处理。如何让这项工作在一起?

@Controller
public class SomeController {
    ...

    @ExceptionHandler(SomeException.class)
    public ModelAndView handleException(Exception ex) {
         // ...
    }   

}

的SimpleMappingExceptionResolver:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="defaultErrorView" value="error"/>
    <property name="exceptionMappings">
        ...
    </property>
</bean> 

1 个答案:

答案 0 :(得分:12)

简短回答:p:order

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver" p:order="1" />
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:order="2" p:defaultErrorView="uncaughtException"/>

全文:springsource forum