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 :

[DEBUTANT]Problème Navigation JSF


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut [DEBUTANT]Problème Navigation JSF
    Bonjour,

    J'essaie de mettre en place ma premiere application JSF (RichFaces + Facelet), et je galère pas mal depuis 2j, donc je m'en remet à vous !

    Voilà mon pb. Je n'arrive même pas à passer d'une page à une autre après le click d'un bouton.

    Sur ma page principale (/pages/requete/requeteRciw.xhtml),je dispose du bouton suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:panelGrid columns="1">
    	<h:commandButton value="Executer" action="#{requeteRci.execute}" immediate="true"/>
    </h:panelGrid>
    Mon Bean RequeteRci est déclaré dans la session (face-config.xml)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <managed-bean>
    	<description>
    	     Représente la requête en cours d'utilisation</description>
    	<managed-bean-name>requeteRci</managed-bean-name>
    	<managed-bean-class>
    		myapp.web.bean.requete.RequeteRci</managed-bean-class>
    	<managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    La méthode que je souhaite voir exécutée est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public String execute() {
    	String forward = "resultat";
     
    	if (LOGGER.isDebugEnabled()) {
    		LOGGER.debug("Executing Request...");
    	}
     
    	return forward;
    }
    J'ai défini les règles de navigation suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <navigation-rule>
    	<display-name>RequeteRci</display-name>
    	<from-view-id>/pages/requete/requeteRciw.xhtml</from-view-id>
    	<navigation-case>
    		<from-outcome>resultat</from-outcome>
    		<to-view-id>/pages/requete/requeteResultat.xhtml</to-view-id>
    	</navigation-case>
    	<navigation-case>
    		<from-outcome>error</from-outcome>
    		<to-view-id>/pages/requete/requeteRciw.xhtml</to-view-id>
    	</navigation-case>
    </navigation-rule>
    Résultat: le clic du bouton "Executer" me renvoi toujours à la même page, j'ai l'impression que la règle de navigation n'est pas prise en compte.

    Note : j'accède à la page principale à l'aide de la redirection de la page d'accueil index.jsp définie dans mon web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:forward page="/pages/requete/requeteRciw.faces"/>
    Quelqu'un pourrait il m'éclairer sur le problème ?

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    salut,

    et si tu changes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <from-view-id>/pages/requete/requeteRciw.xhtml</from-view-id>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <from-view-id>/pages/requete/requeteRciw.faces</from-view-id>

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    Non, ca ne change rien.

    La méthode requeteRci.execute() n'est même pas exécutée... :/

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    c bizar !!!

    Essaye d'enlever le immediate=true juste pour tester

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    3 choses :

    1. Est-ce que ton <h:commandButton> se trouve bien dans un composant <h:form> ?

    2. <h:panelGrid columns="1"> est un peu inutile... Ca correspond à un tableau d'une seule colonne et avec une seule ligne... Autant utiliser un <h:panelGroup> par exemple. Mais bon, ça ne changera rien à ton problème (contrairement au point 1).

    (oui, il n'y a que 2 points, mais c'est comme ça)
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    1. Oui, je l'ai déclaré sans aucun paramètre <h:form>. D'après les exemples que j'ai pu trouver, c'est censé fonctionner.

    2. Je suis d'accord, mais ma page est juste une ébauche. Je me focalise le traitement.

    Je n'arrive pas à expliquer le fait que la méthode execute() de mon Bean ne soit pas éxécuté.
    J'avais pensé à un pb d'installation des librairies JSF, mais j'ai placé sur un composant de la page (un rich:comboBox) un valueChangerLister=#{requeteRci.changeValueObject()} qui elle s'éxecute lorsque je clique sur mon bouton. Donc visiblement la servlet JSF traite la demande...enfin je crois..

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Eventuellement, place un <h:messages/> dans ton <h:form> contenant le bouton... Des fois qu'il y ait des erreurs de validation quelque part...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    J'ai supprimé l'utilisation de Facelet, et là ça fonctionne.

    Pour le moment, je n'utilisais Facelet que pour le templating..donc je vais voir si je peux m'en sortir en JSP pur. Je reviendrai sur ce problème lorsque je maitriserai un peu plus JSF.

Discussions similaires

  1. Réponses: 12
    Dernier message: 19/10/2009, 09h36
  2. problème Navigation entre les pages de JSF
    Par zerocoolyoussef dans le forum JSF
    Réponses: 2
    Dernier message: 12/03/2009, 17h50
  3. [Debutant] Problème de sécurité dans un applet
    Par peaceinpal dans le forum Applets
    Réponses: 3
    Dernier message: 09/09/2004, 20h56
  4. [debutant]Problèmes
    Par BibiGmi dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/03/2004, 14h00
  5. [Debutant] Problème du linker [Dev-c++4]
    Par Macdir dans le forum Dev-C++
    Réponses: 3
    Dernier message: 30/05/2003, 20h50

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