我正在开发一个Spring MVC/Webflow应用程序(版本3.2),并试图让异常处理工作,我可以将自定义异常消息输出到日志文件和error.jsp.我遇到的问题是异常处理程序没有被解雇.我创建了以下类并对其进行了注释@ControllerAdvice,并将其放入与抛出异常的控制器相同的包中:
@ControllerAdvice
public class MyCustomExceptionController {
@ExceptionHandler(MyCustomException.class)
public ModelAndView handleMyException(MyCustomException ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/error/error");
modelAndView.addObject("errorId", ex.getErrorId());
modelAndView.addObject("message", ex.getErrorMessage());
return modelAndView;
}
}
Run Code Online (Sandbox Code Playgroud)
并将以下内容添加到mvc-config文件中:
<mvc:annotation-driven/>
Run Code Online (Sandbox Code Playgroud)
并在我的app-config文件中包含以下内容:
<context:component-scan base-package="package containing my controllers and MyCustomExceptionController">
<context:include-filter type="annotation"
expression="org.springframework.web.bind.annotation.ControllerAdvice" />
</context:component-scan>
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?