HandlerInterceptorAdapter的afterCompletion方法什么时候执行
解决方法:
HandlerInterceptorAdapter的preHandle方法的返回值为true时,并且DispatcherServlet渲染了对应的视图之后才执行。这个方法的我主要是用来处理控制器抛出的异常。
例如:
@Override
public void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) throws Exception {
if(ex != null){
response.setStatus(response.SC_SERVICE_UNAVAILABLE);
Map<String, Object> result = new HashMap<String, Object>();
result.put("success", false);
result.put("msg", msg);
HtmlUtil.writerJson(response, result);
}else{
super.afterCompletion(request, response, handler, ex);
}
本文链接:http://yayihouse.com/yayishuwu/chapter/1494