【发布时间】:2015-02-15 23:10:05
【问题描述】:
我遇到了一个有趣的问题,即在使用 PrettyFaces 时向用户显示自定义错误页面。
所以,在我的 Web 应用程序中,我想展示一个带有 kitty 和一些轻松词语的可爱页面,以防我的应用程序“提供”任何内部意外异常。
这是我web.xml的一部分:
<error-page>
<error-code>404</error-code>
<location>/pages/error/404.xhtml</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/pages/error/500.xhtml</location>
</location>
我也试过一般异常页面(没有错误代码,只指定了location标签);它也不起作用。而不是显示可爱的小猫,丑陋的错误 500 和堆栈跟踪传入。
另一件事是我正在使用漂亮的面孔。所以,我尝试了这个技巧:
1)我的一部分web.xml
<error-page>
<error-code>500</error-code>
<location>/500</location>
</location>
2) 我的pretty-config.xml的一部分
<url-mapping id="404">
<pattern value="/500" />
<view-id value="/pages/error/500.xhtml" />
</url-mapping>
这个技巧更好,但仍然不能完全达到我想要的效果。现在它显示简单的空白白页,什么都没有;在浏览器控制台中,我可以看到错误代码为 404 的请求 URL(但 500.xhtml 文件正确存在,我可以在组装的 .ear 中看到它)。
【问题讨论】:
-
您使用的是什么版本的 PrettyFaces?
-
@Lincoln PrettyFaces 版本是 2.0.11 Final
-
错误页面首先不应该是幂等的。您最好退后一步并修复您的自定义异常处理程序,使其与默认容器完全相同:转发到它而不是重定向到它。
标签: jsf custom-error-pages prettyfaces