Spring中的@ExceptionHandler

时间:2012-11-07 11:37:45

标签: spring model-view-controller

在我的应用程序中,我在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.
  }
 }
}

1 个答案:

答案 0 :(得分: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;
    }   
}