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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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..

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