我正在使用@ConverstationScoped 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参数被传递给错误页面,并且这些错误页面也失败了,因为它们找不到会话,这会将它们带到默认的异常页面。
这个问题的最佳解决方案是什么?创建过滤器,自定义处理程序,其他?
答案 0 :(得分:0)
Atm我正在使用非jsf页面来处理我的对话错误页面。
我的web.xml中有这个:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
因此名为 error.html 的页面不会通过Faces Servlet显示,并且将显示错误页面,并在请求参数中使用cid搜索对话。
缺点是你不能在其中做任何JSF的东西(i18n,dev中的堆栈跟踪,...)