Трассировка стека разработки, вероятно, происходит из вашей реализации JSF. Код для его отключения будет специфичным для импиментации. Для MyFaces в сервлетах, используйте этот параметр инициализации в вашем web.xml
:
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
Если вы используете реализацию Sun (Mojarra), может быть некоторыми com.sun.faces...
шпонки параметра.
Вы также можете проверить значение Facelets init parameterfacelets.DEVELOPMENT
(убедитесь, что вы не установили его в true
).
Чтобы указать страницу с ошибкой, вы можете использовать обычные контейнерные механизмы. Для сервлетов это будет specifying a error pages inweb.xml
, привязанный к любым типам исключений или кодам ошибок. Для того, чтобы поймать всех throwables ...
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorPage.faces</location>
</error-page>
Вы можете найти дополнительную поддержку конкретного производителя для обработки в реализации JSF ошибки - вы должны проверить их документы.
Спасибо, отличный ответ! Один из последующих вопросов, хотя, можно ли использовать сообщение об ошибке на странице улавливания? (ErrorPage.faces) –
О, и кстати, где я могу найти список всех com.sun.faces ... keyed параметры? Я не использую Myfaces, я использую JSF 1.2 с Facelets. –
Чтобы получить сообщение об ошибке, попробуйте выражение '# {requestScope ['javax.servlet.error.message']}'. Чтобы получить исключение, используйте 'javax.servlet.error.exception' - см. Спецификацию Servlet для значений полного списка ошибок, установленных на карту запроса (если вы хотите код ошибки и т. Д.). Вы можете Mojarra контекст PARAMS в Glassfish FAQ: http://wiki.glassfish.java.net/Wiki.jsp?page=JavaServerFacesRI#section-JavaServerFacesRI-WhatContextParametersAreAvailableAndWhatDoTheyDo – McDowell