@ExceptionHandler
攔截並處理所有異常,並且出現異常的方法和異常處理方法在同一個controller.
public class AccessController {
/**
* 異常頁面控制
*
* @param runtimeException
* @return
*/
@ExceptionHandler(RuntimeException.class)
public @ResponseBody
Map<String,Object> runtimeExceptionHandler(RuntimeException runtimeException) {
logger.error(runtimeException.getLocalizedMessage());
Map model = new TreeMap();
model.put("status", false);
return model;
}
}
@Controller
public class strudent extends AccessController{
// 。。。。
}
@Controller
public class teacher extends AccessController{
// 。。。。
}
而爲了區別controller方法返回值的不同(json/html),可以編寫兩個不同的基類:
@Controller
public class BaseJsonController{
@ExceptionHandler(RuntimeException.class)
// return ErrorObject(500);
}
@Controller
public class BasePageController{
@ExceptionHandler(RuntimeException.class)
// return ModelAndView
}