2011-03-07 9 views
3

Comment puis-je attraper unComment faire pour attraper une exception FacesFileNotFoundException?

com.sun.faces.context.FacesFileNotFoundException

dans une application Web Java EE?

Je l'ai essayé avec ajouter les lignes suivantes dans mon fichier web.xml mais je n'ai pas réussi:

... 
    <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> 

Répondre

6

Vous devez spécifier le FQN (Full Nom qualifié), non seulement la N comme type d'exception .

<exception-type>com.sun.faces.context.FacesFileNotFoundException</exception-type> 

Alternativement, si vous arrive déjà à utiliser OmniFaces, inscrivez-vous son FacesExceptionFilter puis la FacesFileNotFoundException sera traitée comme 404.

+0

J'ai aussi essayé cela avant, mais cela ne suffit pas. –

+0

Qu'est-ce qui se passe exactement à la place? – BalusC

+0

La sortie est la suivante: 1. StandardWrapperValve [Servlet Faces]: PWC1406: Servlet.service() pour servlet Faces Servlet a lancé l'exception com.sun.faces.context.FacesFileNotFoundException 2. PWC1231: Servlet.service() pour les faces de servlet Servlet a lancé l'exception 3. [email protected]: Traitement d'exception ErrorPage [exceptionType = com.sun.faces.context.FacesFileNotFoundException, location =/404.jsf] javax.servlet.ServletException: le contexte est déjà défini active à javax.faces.webapp.FacesServlet.service (FacesServlet.java:422) –

Questions connexes