您需要为此实现一个自定义
ExceptionHandler,当ajax请求中发生异常时,该自定义
基本上会 执行以下操作:
String errorPageLocation = "/WEB-INF/errorpages/500.xhtml";context.setViewRoot(context.getApplication().getViewHandler().createView(context, errorPageLocation));context.getPartialViewContext().setRenderAll(true);context.renderResponse();
如果要考虑
web.xml错误页面,这并非完全无关紧要。您需要
web.xml对此进行解析,以找到错误页面的位置。另外,如果在渲染响应期间发生异常,那么您基本上需要自己重建整个视图。该OmniFaces组件库正好有这样一个异常处理函数,
FullAjaxExceptionHandler。你可以找到完整的源代码在这里和展示例子在这里。



