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 :

Problème de redirection de page avec comboBox (h:selectOneMenu)


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Problème de redirection de page avec comboBox (h:selectOneMenu)
    Bonjour,

    Je développe une application web avec JSf 2.0 et richfaces. J'aimerais bien sélectionner une option depuis un comboBox, ce qui me permettera de passer vers une autre page.
    J'ai utilisé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h:selectOneMenu value="#{Action.itemValue}" onchange="submit()"
    valueChangeListener="#{Action.onChange}" style="width: 90px; height: 22px">
        <f:selectItem itemLabel="#{msg.menu_project}" itemValue="project" >
             <a4j:support event="onchange" action="#{Action.onChange}" />
        </f:selectItem>
        <f:selectItem itemLabel="Version" itemValue="version" >
           <a4j:support event="onchange" action="#{Action.onChange}" />
        </f:selectItem>
    </h:selectOneMenu>
    A savoir que dans la méthode 'Action.onChange' je fais la redirection selon ma sélection, comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public String onChange (){
    		String render; 
    		if  (this.getItemValue().equals("project")){		
    			render = "Page1"; 
    		} else if (this.getItemValue().equals("version")){
    			render = "Page2"; 
    		} 
    		return render; 
    	}

    aussi, j'ai bien declaré mes page :"page1" et "page2" dans mon faces-config.xml.
    Mais lorque je sélectionne une option du comboBox, il effectue les traitements de la deuxième page sans l'afficher

    Si quelqu’un possède une idée, n’hésitez pas à me proposer, Merci

  2. #2
    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
    Points : 7 275
    Points
    7 275
    Par défaut
    Bonjour,

    Mets déjà tes <a4j:support> au niveau du <h:selectOneMenu>, et non des <f:selectItem>.

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci, j'ai déjà essayé ça, mais le problème est le même

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Bonjour,

    Tu veut carrément changer de page lors d'un changement dans ton selectOneMenu ou juste recharger une partie de ta page courante?

    SI tu est dans le premier cas je ne suis pas sur que le a4j marche (à l'origine l'ajax n'est pas fait pour la navigation entre pages mais plutôt pour recharger une partie de ta page sans faire un submit complet...) Dans ce cas la essaye de voir avec l'attribut onChange du selectOneMenu (attention il n'accepte que du javascript, pas d'EL dedans...) ou alors avec un valueChangeListener...

    Cordialement

    Mcfly

  5. #5
    Membre averti Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Points : 333
    Points
    333
    Par défaut
    On peut changer de page via un appel a4j on peut même utiliser le mécanisme de outcome classique JSF, il faut juste que l'action appelé renvoie une String.

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    je vous remercie pour vos réponses
    @mcfly37 : Je veux bien passer d'une page à une autre

    @Shinzul : L'action renvoie bien un String, qui déclaré dans faces-config.xml, mais ne marche pas malheureusement

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    bonjour,

    Essaye de coller cette ligne dans ta page jsp :

    <a4j:log level="DEBUG" popup="false" width="400" height="200"/>

    ça te permettra de voir les logs a4j et de voir si il n'y aurais pas une erreur la dessus...

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 120
    Points
    120
    Par défaut
    Es-tu sûr que ce n'est pas le a4j:support qui cause cela ? Il doit faire juste une requête ajax.

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    le <a4j: support> est utilisé pour prendre en considération l’évènement onChange de l'action

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 120
    Points
    120
    Par défaut
    oui mais tu as déja la gestion du onchange sur le taglib avec l'appel submit(). Je mettrai soit sur l'élément (non ajax) soit avec un support (ajax) mais pas les deux.

    Tu as pris ton code en débug pour voir par où ça passe ?

  11. #11
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Je vous remercie tous pour vos réponses.
    Enfin, j'ai trouvé une solution qui répond à mon besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h:selectOneMenu onChange="submit()" value="#{Action.itemValue}">
         <f:selectItem itemLabel="#{msg.menu_project}" itemValue="project"/>
         <f:selectItem itemLabel="Version" itemValue="version"/>
         <a4j:support event="onclick" action="#{Action.onChange}"/>
    </h:selectOneMenu>
    avec le code de Action.onChange que j'ai déjà déposé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XHTML] problème de mise en page avec table
    Par irnbru dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/05/2007, 01h02
  2. [Système] Problème de redirection de page
    Par Tobleron dans le forum Langage
    Réponses: 12
    Dernier message: 20/02/2007, 13h11
  3. [Wamp] Problème d'affichage des pages avec WAMP
    Par FredLam dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 01/11/2006, 20h19
  4. problème de redirection de page web
    Par black_code dans le forum Web
    Réponses: 2
    Dernier message: 01/06/2006, 10h30
  5. Problème de mise en page avec feuille de style css
    Par leroivert dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 15/11/2005, 10h36

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