IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Appli JSF : Erreur "Cannot find FacesContext" [FAQ]


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Appli JSF : Erreur "Cannot find FacesContext"
    Bonjour,

    Je ne suis pas (pas encore ! ) un spécialiste d'Eclipse Europa et j'essaie de suivre le tuto de l'aide pour une première application JSF.
    J'ai bien défini les deux librairies (SUN-RI et JSTL) comme implémentation JSF.
    J'ai créé ma première page quasi vierge (login.jsp) et j'ai mis celle-ci comme page par défaut (welcome-file) dans Web.xml.
    Je lance mon serveur Tomcat 6 et j'appelle ma page par l'intermédiaire du contexte /JSFTutorial. Jusque là, tout va bien.

    Je mets un composant (un simple Command Button, mais qui est automatiquement wrappé par les tags <f:view> et <h:form>), et là, dès que j'essaie de voir le résultat en appelant le contexte, j'ai l'erreur dans la console "Cannot find FacesContext", et pareil dans le navigateur.
    J'ai la vague idée qu'il faudrait que je rajoute des fichiers *.tld quelque part, mais je ne sais pas où, et je ne sais pas lesquels et je ne sais pas comment, et je ne suis même pas sûr que ce soit ca ! (Comment ca : "je devrais abandonner l'informatique !")

    Si quelqu'un pouvait m'expliquer ou me donner une piste, ce serait sympa.

    D'avance merci

    Kim

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    tu utilise quoi comme url pour se connecter a l'application??

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Apparamment tu as mis les composants JSF dans la page login.jsp. Si c'est le cas, il ne faut surtout pas faire ça: tu dois pluôt les mettre dans une autre page et faire un forward dans la première.

    En résumé, tu peux faire ceci:
    Créer une page index.jsp dans la quelle tu mets uniquement un forward dans le bosy:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <body>
    	<jsp:forward page="login.jsf"></jsp:forward>
    </body>

    Ensuite, tu définis index.jsp comme welcome-file.
    Et tu mets dans login.jsp tes composants JSF.

    Là, ça devrait marcher.

    Bonne chance.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Appli JSF : Erreur "Cannot find FacesContext"
    Depuis le navigateur interne d'Eclipse, j'appelle l'URL :
    http://localhost:8080/JSFTutorial

    où JSFTutorial est le contexte de mon projet

    Merci de ton intérêt

    Kim

  5. #5
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    essaie avec http://localhost:8080/JSFTutorial/faces/login.jsp
    si t'as utiliser <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

    ou http://localhost:8080/JSFTutorial/login.jsf
    si t'as utiliser <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/*.jsf</url-pattern>
    </servlet-mapping>


    et je te conseille vivement de lire un document qui explique comment fonctionne jsf

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Appli JSF : Erreur "Cannot find FacesContext"
    Merci à vous dj.mos et Hikage, mais ca ne marche toujours pas :
    Lorsque j'utilise la solution de dj.mos, si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:forward page="login.jsf"></jsp:forward>
    Il me dit qu'il ne trouve pas la resource login.jsf (normal, y'a pas de fichier de ce nom)
    Si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:forward page="login.jsp"></jsp:forward>
    même erreur "Cannot find FacesContext"
    Si je transforme ma page login.jsp en login.jsf, j'affiche le code de celle-ci.

    Je ne comprend pas très bien la remarque de Hikage. Je ne vois pas comment accéder autrement que par le context. En tout état de cause, voici mon fichier web.xml,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>JSFTutorial</display-name>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
         <url-pattern>/faces/*</url-pattern>  
      </servlet-mapping>
    </web-app>
    Alors, si vous avez encore un peu de patience, merci d'avance

    Kim

  7. #7
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Voilà, dans index.jsp tu mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:forward page="faces/login.jsp"></jsp:forward>
    Rq: je ne suis pas sur si c'est faces/... ou /faces/...

    je t'ai donné un exemple avec login.jsf car dans mon web.xml, je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
         <url-pattern>*.jsf</url-pattern>  
      </servlet-mapping>
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
         <url-pattern>/faces/*</url-pattern>  
      </servlet-mapping>

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Appli JSF : Erreur "Cannot find FacesContext" Toujours pas
    Toujours la même erreur, même avec les solutions que vous m'avez indiquées

    seddik_saber me conseille de lire de la documentation sur JSF, mais j'en ai déjà "bouffé" des tonnes. Cependant, je suis toujours preneur d'un nouveau lien et si, par hasard, vous aviez un exemple téléchargeable (sous forme d'un projet Eclipse), ca m'arrangerait bigrement. Je suis pour la pédagogie de l'exemple

    D'avance merci

    Kim

  9. #9
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Est-ce que tu accede bien au page via l'url *.jsf, ou faces/* ( selon comment est configuré ton web.xml, et en particulier la servlet JSF ) ?

    Il ne faut pas acceder à la page .jsp directement, sinon cela ne passe pas via JSF, et donc il est normal que tu n'ai pas de JSF Context

    edit:
    Grilled
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

Discussions similaires

  1. Erreur "java.lang.RuntimeException: Cannot find FacesContext"
    Par moha_alnif dans le forum Wildfly/JBoss
    Réponses: 9
    Dernier message: 06/12/2012, 22h40
  2. Réponses: 1
    Dernier message: 08/06/2009, 16h22
  3. Réponses: 0
    Dernier message: 20/04/2008, 20h17
  4. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  5. erreur:Cannot find FacesContext
    Par oasma dans le forum JSF
    Réponses: 3
    Dernier message: 15/05/2007, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo