spring mvc 其他註解使用

@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
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章