我有一个带注释的控制器,它包含几个映射到urls上的方法。如下所示:
@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。因此,问题是如何为控制器方法配置和编码处理程序?
发布于 2010-09-27 20:50:13
您应该查看@ExceptionHandler的spring文档。
@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 bean。
https://stackoverflow.com/questions/1831866
复制相似问题