我喜欢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>
答案 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"/>