Как отловить исключение FacesFileNotFoundException?
Как я могу поймать
com.sun.faces.context.FacesFileNotFoundException
в веб-приложении Java EE?
Я попробовал добавить следующие строки в мой файл web.xml, но у меня ничего не получилось:
...
<error-page>
<error-code>404</error-code>
<location>/404.jsf</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/404.jsf</location>
</error-page>
<error-page>
<exception-type>FacesFileNotFoundException</exception-type>
<location>/404.jsf</location>
</error-page>
<error-page>
<exception-type>FileNotFoundException</exception-type>
<location>/404.jsf</location>
</error-page>
<error-page>
<exception-type>FailingHttpStatusCodeException</exception-type>
<location>/404.jsf</location>
</error-page>
</web-app>
1 ответ
Решение
Вам нужно указать FQN (полное имя), а не просто N в качестве типа исключения.
<exception-type>com.sun.faces.context.FacesFileNotFoundException</exception-type>
В качестве альтернативы, если вы уже используете OmniFaces, зарегистрируйте его FacesExceptionFilter
а затем FacesFileNotFoundException
будет обработан как 404.