JSF 2.0中的WEB.XML错误页面

时间:2012-04-24 11:01:33

标签: jsf-2 error-handling

我正在使用JSF2和Glassfish 3.0。

我的应用程序非常简单,我尝试为404500错误设置一些默认错误页面。

这是WEB.XML部分:

<error-page>
    <exception-type>404</exception-type>
    <location>/error.xhtml</location>
</error-page>

<error-page>
    <exception-type>500</exception-type>
    <location>/error.xhtml</location>
</error-page>

即使存在error.xhtml,在浏览器中我仍然会收到标准HTTP Status 404 -警告。

1 个答案:

答案 0 :(得分:12)

<exception-type>应指向java.lang.Exception子类的完全限定名称。 E.g。

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/expired.xhtml</location>
</error-page>

但你所拥有的只是HTTP status codes。您应该使用<error-code>代替。

<error-page>
    <error-code>500</error-code>
    <location>/error.xhtml</location>
</error-page>

顺便说一句,我不会让404和500指向相同的错误页面。 404是“找不到页面”,这通常是客户自己的错误,而不是服务器的错误。获取一般错误页面而不是“找不到页面”将会非常混乱。