我不认为这在Spring中是很简单/直截了当的(或者至少对我目前的春天知识来说)。
我们希望能够诠释我们的所有的Ajax方法与单个 注释
除了分离ajaxMethods到另一个控制器,我能想到的这样做的另一种方式。
1.声明自己的异常类,如myAjaxException。
2.不要在控制器中处理这个异常,只要在里面遇到任何异常时抛出它,你的ajax方法。
try{
//....
}catch(Exception ex){
throw new myAjaxException("this is myAjaxException blah blah blah");
}
3.通过实现HandlerExceptionResolver来接受myAjaxException,如下所示。
在DispatcherServlet的的应用程序 上下文中声明任何Spring bean的实现HandlerExceptionResolver将用于 拦截和工艺任何异常在MVC系统提出并不 由控制器进行处理。
public class AjaxExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex);
if (ex instanceof myAjaxException) {
//return response to UI
}
}
我认为是好,但是这意味着在try/catch块,这是我们要设法避免 – mowwwalker
我是知道的,我的解决方案可以是另一种“包装每一个AJAX方法解决“,直到我们找到更好的。 –