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 :

selectOneMenu et valueChangeListener ?


Sujet :

JSF Java

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Par défaut selectOneMenu et valueChangeListener ?
    Bonjour

    j'ai qq listes deroulantes qui appelent la meme methode sur le "valueChangeListener"

    le probleme est que la methode est appelé autant de fois que j'ai de liste alors que je n'ai changé qu'une seule liste !!!

    est-ce que vous avez une idée pour eviter ça !! merci

  2. #2
    Membre Expert
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Par défaut
    Hello,

    Pourrais tu montrer ton code (JSP+ManagedBean)?

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Par défaut
    la page jsf : un datalist avec plusieur listes deroulante ou chekbox ou radio bouton suivant une configuration dans l'administration de l'appli.

    Code xml : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <t:dataList styleClass="variable"
    	value="#{rapportGeneriqueBean.allList}"
            var="listBO"
    	layout="table1Colonne">
     
    <h:panelGroup>      
          <h:outputText value="#{listBO.titre}"/>
     
          <h:panelGroup rendered="#{listBO.oneRadio}">
          <h:selectOneRadio id="#{listBO.idHtml}_0" style="font-family:Verdana;font-size:12px;"						    
    	    immediate="true" 
    	    value="#{listBO.itemValue}"
    	    valueChangeListener="#{rapportGeneriqueBean.selectedListToFiltre}"
    	    onchange="ajaxAnywhere.formName = 'generiqueForm';submit()">
    	    <f:selectItems value="#{listBO.items}" />			
         </h:selectOneRadio>
         </h:panelGroup>
     
         <h:panelGroup rendered="#{listBO.manyCheckBox}">
         <h:selectManyCheckbox id="#{listBO.idHtml}_1" style="font-family:Verdana;font-size:12px;"						    
    	    immediate="false" 
    	    value="#{listBO.itemsValue}"
    	    valueChangeListener="#{rapportGeneriqueBean.selectedListManyToFiltre}"
    	    onchange="ajaxAnywhere.formName = 'generiqueForm';submit()">
                <f:selectItems value="#{listBO.items}" />			
         </h:selectManyCheckbox>
         </h:panelGroup>
     
         <h:panelGroup rendered="#{listBO.oneMenu}">
    	     <t:selectOneMenu id="#{listBO.idHtml}_2" style="font-family:Verdana;font-size:12px;"						    
    	    immediate="false" 
    	    value="#{listBO.itemValue}"
    	    valueChangeListener="#{rapportGeneriqueBean.selectedListToFiltre}"
    	    onchange="ajaxAnywhere.formName = 'generiqueForm';submit()">
    	    <f:selectItems value="#{listBO.items}" />			
         </t:selectOneMenu>
         </h:panelGroup>
     
         <h:panelGroup rendered="#{listBO.manyListBox}">     
         <h:selectManyListbox id="#{listBO.idHtml}_3" style="font-family:Verdana;font-size:12px;"						    
    	    immediate="false" 
    	    value="#{listBO.itemsValue}"
    	    valueChangeListener="#{rapportGeneriqueBean.selectedListManyToFiltre}"
    	    onchange="ajaxAnywhere.formName = 'generiqueForm';submit()">
    	    <f:selectItems value="#{listBO.items}" />			
         </h:selectManyListbox>
         </h:panelGroup>
     
    </h:panelGroup>
    </t:dataList>


    et dans mon bean voici les deux methode :

    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
    18
    19
    20
    21
    public void selectedListToFiltre(ValueChangeEvent event){
    	FacesContext facesContext = FacesContext.getCurrentInstance();
    	String idSelect = (String) event.getNewValue();
     
    	/*
     	 *
    	 */
     
    	facesContext.renderResponse();
    }
     
    public void selectedListManyToFiltre(ValueChangeEvent event){
    	FacesContext facesContext = FacesContext.getCurrentInstance();
            List lst = (List) event.getNewValue();
     
    	/*
     	 *
    	 */
     
    	facesContext.renderResponse();
    }

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    >Salut

    Je pense que ton problème vient que tes listes deroulantes ont le même id, car il applique un evenment par id.

    Meci de verifier dans le code source de ta page generée est tous les select ont le meme id.

  5. #5
    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
    Citation Envoyé par lion.maroc Voir le message
    >Salut

    Je pense que ton problème vient que tes listes deroulantes ont le même id, car il applique un evenment par id.

    Meci de verifier dans le code source de ta page generée est tous les select ont le meme id.
    ça, ça ne risque pas d'arriver: JSF ne tolère pas que deux composants aient des identifiants identiques et la sanction sera immédiate (Exception lancée, page non disponible).

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    Oui je suis tt a fait d'accord avec toi

    mais seulment pour verifier c tt

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2011, 17h06
  2. Problème avec selectOneMenu et valueChangeListener
    Par sylviefrfr dans le forum JSF
    Réponses: 0
    Dernier message: 10/06/2010, 12h56
  3. selectOneMenu et ValueChangeListener
    Par Deign dans le forum JSF
    Réponses: 5
    Dernier message: 19/08/2009, 17h44
  4. selectOneMenu et valueChangeListener
    Par cs_zineb dans le forum JSF
    Réponses: 10
    Dernier message: 20/05/2008, 15h32
  5. Réponses: 2
    Dernier message: 03/04/2007, 22h02

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