【发布时间】:2015-06-18 11:01:00
【问题描述】:
我想在我的项目中定义一个通用的异常管理器,所以我用@ControllerAdvice来做,代码的sn-p如下:
@ExceptionHandler(Exception.class)
public ModelAndView handleAllException(HttpServletRequest request, Exception ex) throws Exception
{
LOGGER.error(ex.getMessage());
ModelAndView mav = new ModelAndView();
mav.addObject("exception", ex);
mav.addObject("url", request.getRequestURL());
mav.setViewName(ViewConstants.INTERNAL_ERROR_VIEW);
return mav;
}
它将返回一个常见的错误页面。这对于请求的正常例外非常有用。但如果这是一个 Ajax 请求,结果就太难看了。所以我添加代码来判断它。添加的代码如下:
if ("XMLHttpRequest".equals(request.getHeader("X-Requested-With"))) {
// return HTTP Status code and response message
} else {
// return error page name
}
我认为这不是最好的方法,有人有好的意见吗?
【问题讨论】:
-
这可能是要走的路。
标签: java ajax spring spring-mvc