Я столкнулся с интересной проблемой с отображением настраиваемых страниц ошибок пользователю при использовании PrettyFaces.
Итак, в моем веб-приложении я хочу показать симпатичную страницу с котенком и несколько расслабляющих слов на случай, если мое приложение «предоставляет» какое-либо внутреннее неожиданное исключение. Вот часть моего 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>
Этот трюк был лучше, но все равно не дает того, что я хочу. Теперь он показывает простую пустую белую страницу без ничего; а в консоли браузера я вижу запрошенный URL с кодом ошибки 404 (но файл 500.xhtml существует правильно, я вижу его в собранном .ear).