0

我正在使用@ConversationScoped bean,我想为您手动更改 cid 参数的情况创建一个不错的错误页面。

    <error-page>
    <exception-type>javax.enterprise.context.NonexistentConversationException</exception-type>
    <location>/nonExistentConversation.xhtml</location>
</error-page>
<error-page>
    <exception-type>org.jboss.weld.context.NonexistentConversationException</exception-type>
    <location>/nonExistentConversation.xhtml</location>
</error-page>

问题是 cid 参数传递给了错误页面,而这些错误页面也因为找不到对话而失败,这将它们带到了默认的异常页面。

这个问题的最佳解决方案是什么?创建过滤器、自定义处理程序等?

4

1 回答 1

0

Atm 我正在为我的对话错误页面使用非 jsf 页面。

我的 web.xml 中有这个:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

因此名为error.html的页面不会通过Faces Servlet,并且错误页面将显示为iso 搜索与请求参数中的cid 的对话。

缺点是你不能在其中做任何 JSF 的东西(i18n,dev 中的堆栈跟踪,..)

于 2012-11-29T13:14:33.460 回答