我正在尝试简单转发到JSF 2应用程序中的错误页面。各处的说明看起来很简单,但它对我不起作用。这是我试过的。我在web.xml中添加了以下内容:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/pages/error.jsf</location>
</error-page>
我尝试了异常类型java.lang.Exception,我尝试使用错误代码而不是异常类型。我还尝试将页面命名为(在上面的代码片段中)error.xhtml,我尝试使用error.jsp页面完成所有这些操作。什么都行不通。
我只是通过断开数据库服务器来测试这一点,因此任何登录尝试都会导致异常。并且它显示在屏幕上而不是错误页面上。
我正在使用eclipse,tomcat 7和myfaces 2.1.4。同样在我的WEB-INF / lib中,我有primefaces-3.0.RC2和prettyfaces-jsf2-3.3.2。
我做错了什么/不做什么?
答案 0 :(得分:2)
您是否关闭了Facelets的错误机制?在web.xml文件中,您可能需要具有以下context-param:
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
如果您还使用MyFaces,则需要以下附加上下文参数:
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
此article可能对您有用。
答案 1 :(得分:0)
您是否使用任何托管bean来处理错误?如果是这样,你宣布了吗?看看这个article。