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 :

action sur la page d'acceuil ne marche pas


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut action sur la page d'acceuil ne marche pas
    Bonjour,

    Voila j'ai un soucis et je vais essayer d'être clair.
    Avant tout je débute en jsf.
    Donc sur ma page d'accueil "index.jsp", j'initialise des listes qui sont récupérées dans la base de donnée.
    Le problème est que lorsque j'arrive sur cette page d'accueil, les listes sont vides (aucune action est appelé) par contre si je clique sur un bouton qui me redirige sur cette page d'accueil mes listes sont remplies (l'action est appelé).
    Pourtant dans les 2 cas, c'est bien l'index.jsp qui est appelé.
    Y a surement des trucs que j'ai pas compris alors s'il vous plait éclaircissez moi!!!
    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Peux-tu nous montrer où et comment tu initialises tes listes ? (dans un contrôleur ?)

  3. #3
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut
    Utiliser les filtres JSF,
    voici un petit exemple d'application de filtre, vous pouvez cherchez d'autres exemples plus riches: http://blog.developpez.com/djo-mos/p...es-dans-jsf-r/


  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Enfin les filtres sont lancés à chaque chargement de page... J'ai du mal à y voir l'intérêt ici .

    Pour une page donnée, tu dois avoir des problèmes d'initialisation dans ton contrôleur tout simplement. Rien ne sert d'utiliser les filtres si tu ne fais pas un traitement global à ton application.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Merci !
    Je ne vois pas trés bien l'utilité des filtres.
    Ce que je peux vous dire c'est ma page d'index marche mais pas lors de la premiere connexion.
    voici le mapping de la faceServlet :
    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>
    apres j'ai ma page d'acceuil index.jsp qui contient par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <f:selectItems value="#{consultantMB.listeClients}" />
    mais cette action n'est pas appelé la premiere fois ! pour qu'elle marche il faut que je creer un bouton qui fasse le lien sur index.jsp.

  6. #6
    Membre confirmé Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Par défaut
    Citation Envoyé par hazamor Voir le message
    Utiliser les filtres JSF,
    voici un petit exemple d'application de filtre, vous pouvez cherchez d'autres exemples plus riches: http://blog.developpez.com/djo-mos/p...es-dans-jsf-r/

    Juste pour éclaircir se sont des filtre de servlet pas de JSF, JSF est un framework qui est basé sur l'API servlet donc les filtres peuvent être utilisés pour les application web faites avec JSF

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Peux-tu nous montrer ton consultantMB ? Du moins, la partie qui instancie listeClients ? (ton constructeur et la méthode que tu veux appeller par ton bouton)

  8. #8
    Invité de passage
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Par défaut
    Comment vas-tu sur ta page lorsque ça marche pas ? Grâce au 'welcome-list' du web.xml ? (Dans ta barre d'adresse, tu as juste http://localhost:8080/monappli/ ?)
    Si c'est le cas, c'est 'normal' car ça ne passera pas par JSF. Essaye plutot d'aller à l'adresse http://localhost:8080/monappli/index.faces

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Peux-tu nous montrer ton consultantMB ? Du moins, la partie qui instancie listeClients ? (ton constructeur et la méthode que tu veux appeller par ton bouton)
    Le bouton fait juste un appel a ma page index.jsp; et dans cette page tout les controleurs sont appelés, je n'ai aucun soucis de ce coté la.Mon probleme vient lors de la premiere fois que je me connecte sur index.jsp.Aucun controleur n'est appelé.

    Comment vas-tu sur ta page lorsque ça marche pas ? Grâce au 'welcome-list' du web.xml ? (Dans ta barre d'adresse, tu as juste http://localhost:8080/monappli/ ?)
    Si c'est le cas, c'est 'normal' car ça ne passera pas par JSF. Essaye plutot d'aller à l'adresse http://localhost:8080/monappli/index.faces
    Pour aller sur ma page je fais http://localhost:8080/monappli/faces/index.jsp

    et dans mon web.xml j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
             <welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    puis :
    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>
    Encore une chose
    Lors de la premiere fois que j'arrive sur index.jsp, il me récupère bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span class="nom"><h:outputText value="#{msgs.topReference}" /></span>
    mais il ne me récupère pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #{consultantMB.referencename[0]}
    Dans ce dernier cas j'ai un accès a la base, es ce que le problème ne pourrait pas venir de la (il ya peut etre quelque chose que je dois rajouter pour acceder à la base lors de la premiere connexion ?
    Merci encore pour votre soutien, je n'arrive pas à m'en dépétrer.

  10. #10
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut cet élément n'a pas de getter et setter
    Citation Envoyé par decksroy Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #{consultantMB.referencename[0]}
    tu ne peut pas pointer sur un élément de la liste, car tout simplement cet élément n'a pas de getter et setter.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 38
    Par défaut
    Je remonte un peu le sujet parce que je pense avoir la même problématique.

    En effet quand on appuie sur un bouton pour accéder à une page, on lie une action qui sera exécutée lors de l'appuie sur le bouton pour générer des informations à afficher. Seulement dans le cas d'une page d'accueil, on a appuyé sur aucun bouton pour y accéder la première fois donc pas d'action effectuée pour recueillir les informations que l'on veut afficher.
    Donc comment fait on pour faire exécuter une action JSF qui permet de générer des info sur une page sans appuyer sur un bouton ou un lien au préalable ? Y a t'il moyen d'avoir un lien de redirection vers cette page avec l'appel à l'action qui va permettre de générer les données à afficher ?

  12. #12
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Yohips Voir le message
    Je remonte un peu le sujet parce que je pense avoir la même problématique.

    En effet quand on appuie sur un bouton pour accéder à une page, on lie une action qui sera exécutée lors de l'appuie sur le bouton pour générer des informations à afficher. Seulement dans le cas d'une page d'accueil, on a appuyé sur aucun bouton pour y accéder la première fois donc pas d'action effectuée pour recueillir les informations que l'on veut afficher.
    Donc comment fait on pour faire exécuter une action JSF qui permet de générer des info sur une page sans appuyer sur un bouton ou un lien au préalable ? Y a t'il moyen d'avoir un lien de redirection vers cette page avec l'appel à l'action qui va permettre de générer les données à afficher ?

    tu n'est pas obligé d'avoir une action pour récupérer des informations, ce n'est pas comme en Struts.

    tu peux initialiser les property soit dans le faces-config, ou appeler une méthode dans le constructeur de ton bean, un bean est crée si il est présent dans la page à afficher..

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 38
    Par défaut
    J'ai testé de coller l'appel de fonction dans le constructeur mais lors de l'exécution, l'instanciation de mon stateless (via l'injection) ne se fait pas apparemment. Donc un joli nullpointerexception dans le stack trace.

  14. #14
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Yohips Voir le message
    J'ai testé de coller l'appel de fonction dans le constructeur mais lors de l'exécution, l'instanciation de mon stateless (via l'injection) ne se fait pas apparemment. Donc un joli nullpointerexception dans le stack trace.
    C'est un autre problème, ce n'est pas lier à la question, donc ouvre une nouvelle discussion si le problème persiste.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2012, 11h07
  2. Réponses: 0
    Dernier message: 04/07/2011, 11h47
  3. detecter une action sur une page jsp interprétée
    Par scolopendra dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 11/02/2009, 14h47
  4. Généraliser une action sur une page entière
    Par fredodi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2007, 14h40
  5. Réponses: 2
    Dernier message: 04/02/2007, 16h16

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