Spring中的@ExceptionHandler

thr*_*ng3 3 model-view-controller spring

在我的应用程序中,我在web.xml中配置了一个错误页面.我需要根据条件覆盖特定控制器的那个.这里当条件成立时我需要重定向到特定的错误页面,否则应该呈现正常的错误页面.这是代码.请帮我.

@Controller
public class Test{

 @ExceptionHandler(Exception.class)
 public ModelAndView generateException(HttpServletRequest httpServletRequest){
  if(condition) {
   return new ModelAndView("myError.jsp");
  } else {
   //should execute default error page.
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

Vin*_*nay 5

再次抛出异常,由DefaultHandlerExceptionResolver处理,以响应web.xml中定义的错误页面; 它不会调用控制器的相同异常处理程序.

@ExceptionHandler(Exception.class)
public ModelAndView generateException(Exception ex) throws Exception{
    if(condition) {
        return new ModelAndView("myError.jsp");
    } else {
        //should execute default error page.
        throw ex;
    }   
}
Run Code Online (Sandbox Code Playgroud)