拋出一個(gè) Error resolving template template might not exist or might not be accessible 的異常
在ajax的異常處理中,直接返回IMoocJSONResult是不行的,會(huì)再拋出一個(gè)
Error resolving template template might not exist or might not be accessible 的異常,而不是我們預(yù)想的byZero的異常,這時(shí)候需要使用MappingJackson2HttpMessageConverter把IMoocJSONResult手動(dòng)寫入 HttpServletResponse中。
?
private static final String ERROR_VIEW = "error";
@Autowired
private MappingJackson2HttpMessageConverter jsonConverter;
???
@ExceptionHandler(value = Exception.class)
public Object error(HttpServletRequest request, HttpServletResponse response, Exception e) throws HttpMessageNotWritableException, IOException {
if(isAjax(request)) {
MyJSONResult result = MyJSONResult.errorException(e.getMessage());
??????????? jsonConverter.write(result, MediaType.APPLICATION_JSON, new ServletServerHttpResponse(response));
??????????? return null;
} else {
ModelAndView mav = new ModelAndView();
mav.addObject("exception",e);
mav.addObject("url", request.getRequestURL());
mav.setViewName(ERROR_VIEW);
return mav;
}
}
2018-09-20
優(yōu)秀,學(xué)習(xí)了
2018-03-27
是的,學(xué)習(xí)了
2018-03-22
不賴、學(xué)習(xí)了