2009-12-02 30 views
4

我已註釋了控制器,其中包含幾個映射在URL上的methinds。像這樣:HandlerExceptionResolver用於註釋控制器

@Controller 
public class CategoryController { 

@RequestMapping(value = "/addCategories") 
public void addCategories(@RequestParam(value = "data") String jsonData) throws ParseException 

@RequestMapping(value = "/getNext") 
public void getNext(@RequestParam(value = "data") String jsonData) throws ParseException 

... 

} 

方法需要解析json請求並執行一些操作。解析請求可能產生檢查ParseException,我可以在方法中處理或將throws添加到其簽名中。我更喜歡第二種方法,因爲在這裏我不想在代碼中增加try/catch。 所以問題是如何配置和控制器方法的代碼處理程序?

回答

3

您應該查看@ExceptionHandler的彈簧文檔。

@Controller 
public class CategoryController { 

@ExceptionHandler(ParseException.class) 
public ModelAndView handleParseExc(ParseException ex) { 
    //... 
} 

@RequestMapping(value = "/addCategories") 
public void addCategories(@RequestParam(value = "data") String jsonData) throws ParseException 


} 

或亞型AbstractHandlerExceptionResolver,如果你想處理這些異常的所有的控制器宣佈它在你的XML配置的Spring MVC的豆。

+0

或者子類AbstractHandlerExceptionResolver,如果你想跳過xml配置,用@Component註釋它。 – 2012-01-20 03:48:41

相關問題