1

我正在使用来自omnifaces 库的FullAjaxExeptionHandler 并且一切正常,但是我不确定如何在发生异常的页面上的PrimeFaces 对话框中显示异常。目前我只能将用户重定向到omnifaces展示中描述的异常页面。

我现在拥有的:

<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/errorpages/bug.xhtml</location>
</error-page>

我想要的是:

<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/currentpage.xhtml?showExceptionDialog(exception)</location>
</error-page>

谢谢。

4

1 回答 1

1

FullAjaxExceptionHandler不支持。FullAjaxExceptionHandler旨在实现与非 ajax 请求完全相同的行为。即按照标准 Servlet API使用web.xml指定的条目。<error-page>

RequestContext此外, OmniFaces并不是专门作为 PrimeFaces 的扩展,因此不可能使用任何 PrimeFaces 特定的 API,如FullAjaxExceptionHandler. 这将使它无法在不使用 PrimeFaces 而是使用不同组件库的项目中使用。

您最好的选择确实是创建自己的异常处理程序。FullAjaxExceptionHandler只要您尊重 Apache 许可证,您就可以完全自由地接管部分源代码。另一种方法是请求PrimeFaces Extensions来创建您想到的异常处理程序并将其添加到其标准集中。

于 2013-10-10T10:37:37.490 回答