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 :

probleme avec les listes deroulantes


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut probleme avec les listes deroulantes
    Bonjour a tous

    mon problème avec les listes deroulantes.
    j'ai deux listes deroulantes, la premeire contient les facultés et la 2 eme contient les departements.
    je veux quand je choisis une faculté ,la 2 eme liste vat contenir les depatement de cette faculte (de la premeire liste)mais je ne sais pas comment realiser ça


    j espere que vous allez me donner un exemple qui explique (resoudre) mon probleme

    merci d avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Un ValueChangeEvent se génère quand tu choisies une fac dans ta première liste, tu n'as donc qu'a l'intercepté avec un ValueChangeListener qui va remplir la deuxième

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    merci beuacoup de votre reponse
    mais tu peut expliquer par petit exemple car j ai pas compris votre idée
    svp n hesitez pas de trouver un petit exemple

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    ça doit donner un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <h:form>
        <h:selectOneMenu valueChangeListener="#{bean.remplirListe2}">
            <f:selectItems value="#{bean.valeurs1}"/>
        </h:selectOneMenu>
        <h:selectOneMenu >
            <f:selectItems value="#{bean.valeurs2}"/>
        </h:selectOneMenu>
    </h:form>
    Et dans ton bean la méthode doit avoir la bonne signature pour être considérée comme ValueChangeListener


    PS : ça ne sert a rien de poster deux fois le m^me message

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut petit probleme
    salut a tous

    a partir de votre exemple j ia construit mon exemple

    <h:form>

    <h:selectOneMenu valueChangeListener="#{bean.remplirListe2}">
    <f:selectItems value="#{bean.valeurs1}"/>
    </h:selectOneMenu>


    <h:selectOneMenu >
    <f:selectItems value="#{bean.valeurs2}"/>
    </h:selectOneMenu>

    </h:form>


    voici le code java :

    private SelectItem[] valeurs2={ new SelectItem ( new Integer(1) ," " )};


    public SelectItem[] getValeurs2 () {
    return this. Valeurs2;
    }

    public void set Valeurs2 (SelectItem[]valeurs2) {
    this. Valeurs2= valeurs2;
    }


    Et dans ValueChangeListener j’ai fait :


    public void remplirListe2 (ValueChangeEvent valueChangeEvent) {
    // Add event code here...

    String choix= valueChangeEvent.getNewValue().toString();
    int choix2=Integer.parseInt(choix);


    if (choix2==1){

    SelectItem[] valeurs22={ new SelectItem ( new Integer(1) ,"informatique" )} ;

    Setvaleurs2 ( valeurs22);
    }

    }

    -Le probleme quand je choisis un element de la liste 1 ,il n affiche rien dans la liste 2
    Parsque il n y pas le raifrechissement de la page
    Commnet faire pour regler ce petit probleme
    Et je te mercie de mon cœur pour votre aide
    Merci

  6. #6
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut
    Pour commencer, es-tu certain que ta fonction est bien appelée ?
    abertaud
    ---------

    - pas de réponse technique en PV, utilisez les forums
    - si vous trouvez seuls la solution, n'abandonnez pas votre post, mettez-le à jour pour les autres
    - le tag est parfois en voie d'extinction, participez à sa survie

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    Bonjour !
    J'ai le même problème, à savoir que dans une liste déroulante, j'ai l'attribut "valueChangeListener" qui pointe sur une méthode d'un bean managé. Pourtant, quand je change la valeur de cette liste déroulante, cette méthode n'est pas appelée !

    Merci

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    J'ai rajouté onchange="submit()" et ça marche ...

  9. #9
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut
    Si ca marche avec le c'est qu'aucun passage ne se faisait dans la fonction que tu veux utiliser...
    abertaud
    ---------

    - pas de réponse technique en PV, utilisez les forums
    - si vous trouvez seuls la solution, n'abandonnez pas votre post, mettez-le à jour pour les autres
    - le tag est parfois en voie d'extinction, participez à sa survie

  10. #10
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut encore probleme
    salut a tous

    j ai mis submit() et immediat=true mais il y a un probleme tel que les autres boutons de ma page ne foctionnent pas
    jcp vraimet pourqoi
    svp si vous avavez un exemple enoiyez moi
    merci d'anvance

  11. #11
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Poste du code STP,

    Vérifie que les autres boutons soit bient aussi inclus dans <h:form> </h:form>
    J'ai fais cette boulette il n'y a pas longtemps

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 13
    Points
    13
    Par défaut select Items
    bonjours , j'ai un pb avec les listes deroulante en jsf comment charger une liste apres le choix d'un element dans une autre liste .
    j'ai trois listes la 1 doit contenir les incidents la 2 type d'incident la 3 specification . quand je choisi un incident immediatement la 2 liste doit charger les types adequat et quand je choisi le type voulu la 3 liste et charger par les donnee lier au choix du type d'incident (comme le truc de pays et ville et commune) .
    j'utilise jsf et hibernate .

  13. #13
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    As-tu appliquer ce qui est au dessus ?
    Quel est le problème exact ?
    1 - Tu sais pas comment t'y prendre ? ce qui est au dessus contient de bonnées pistes
    2 - Ca ne fonctionne pas ? un bout de code utile + ce qui devrai se passer + ce qui se passe réellement ou ce qui se passe pas
    3 - Un message d'erreur ? le bout de code, le message d'erreur et le moment auquel il apparait.

  14. #14
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    code bean:
    private Integer taille = null;


    private SelectItem[] tailleItems = {
    new SelectItem(new Integer(1), "incendie"),
    new SelectItem(new Integer(2), "innondation"),
    new SelectItem(new Integer(3), "xxxxx"),
    new SelectItem(new Integer(4), "yyyyy") };

    public Integer getTaille() {
    return taille;
    }

    public void setTaille(Integer newValue) {
    taille = newValue;
    }
    public void setTailleItems(SelectItem[] tailleItems) {
    this.tailleItems = tailleItems;
    }

    public SelectItem[] getTailleItems() {

    return tailleItems;
    }
    private SelectItem[] valeurs2={ new SelectItem ( new Integer(1) ,"" )};




    public void remplirListe2 (ValueChangeEvent valueChangeEvent) {
    String choix= valueChangeEvent.getNewValue().toString();
    System.out.println("********"+choix);
    int choix2=Integer.parseInt(choix);
    if (choix2==2){
    System.out.println("********"+choix);
    SelectItem[] valeurs22={ new SelectItem ( new Integer(1) ,"incedie foret" ),
    new SelectItem ( new Integer(2) ,"incendiexxxx" )} ;

    setValeurs2(valeurs22);
    }
    jsp :
    <h:form>
    <h:outputText value="taille"/><h:selectOneMenu value="#{empbean.taille}" valueChangeListener="#{empbean.remplirListe2}" onchange="submit();">
    <f:selectItems value="#{empbean.tailleItems}"/>

    </h:selectOneMenu><h:outputText value="prof"/><h:selectOneMenu>
    <f:selectItems value="#{empbean.valeurs2}"/>

    </h:selectOneMenu>

    </h:form>

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 13
    Points
    13
    Par défaut selectonemenu
    voila le code mais ca marche pas
    code bean:
    private Integer taille = null;


    private SelectItem[] tailleItems = {
    new SelectItem(new Integer(1), "incendie"),
    new SelectItem(new Integer(2), "innondation"),
    new SelectItem(new Integer(3), "xxxxx"),
    new SelectItem(new Integer(4), "yyyyy") };

    public Integer getTaille() {
    return taille;
    }

    public void setTaille(Integer newValue) {
    taille = newValue;
    }
    public void setTailleItems(SelectItem[] tailleItems) {
    this.tailleItems = tailleItems;
    }

    public SelectItem[] getTailleItems() {

    return tailleItems;
    }
    private SelectItem[] valeurs2={ new SelectItem ( new Integer(1) ,"" )};




    public void remplirListe2 (ValueChangeEvent valueChangeEvent) {
    String choix= valueChangeEvent.getNewValue().toString();
    System.out.println("********"+choix);
    int choix2=Integer.parseInt(choix);
    if (choix2==2){
    System.out.println("********"+choix);
    SelectItem[] valeurs22={ new SelectItem ( new Integer(1) ,"incedie foret" ),
    new SelectItem ( new Integer(2) ,"incendiexxxx" )} ;

    setValeurs2(valeurs22);
    }
    jsp :
    <h:form>
    <h:outputText value="taille"/><h:selectOneMenu value="#{empbean.taille}" valueChangeListener="#{empbean.remplirListe2}" onchange="submit();">
    <f:selectItems value="#{empbean.tailleItems}"/>

    </h:selectOneMenu><h:outputText value="prof"/><h:selectOneMenu>
    <f:selectItems value="#{empbean.valeurs2}"/>

    </h:selectOneMenu>

    </h:form>

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    il m'affiche pas d'eurre mais la 2 liste ne veut pas se charger

  17. #17
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Poste la déclaration du managed bean dans le faces-config.xml STP...

  18. #18
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    JSP:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <f:view>
      <html>
        <head>
          <meta http-equiv="Content-Type"
                content="text/html; charset=windows-1252"/>
          <title>test</title>
        </head>
        <body>
     
     
    <h:form>
        <h:outputText value="taille"/>
        <h:selectOneMenu value="#{beanTest.taille}" valueChangeListener="#{beanTest.remplirListe2}" onchange="submit();">
            <f:selectItems value="#{beanTest.tailleItems}"/>
        </h:selectOneMenu>
     
        <h:outputText value="prof"/>
        <h:selectOneMenu>
            <f:selectItems value="#{beanTest.valeurs2}"/>
        </h:selectOneMenu>
    </h:form>  
     
     
        </body>
      </html>
    </f:view>


    Bean:
    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
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    package test;
     
    import javax.faces.event.ValueChangeEvent;
    import javax.faces.model.SelectItem;
     
    public class BeanTest {
        public BeanTest() {
        }
     
        private Integer taille = null;
     
     
        private SelectItem[] tailleItems = {
        new SelectItem(new Integer(1), "incendie"),
        new SelectItem(new Integer(2), "innondation"),
        new SelectItem(new Integer(3), "xxxxx"),
        new SelectItem(new Integer(4), "yyyyy") };
     
        public Integer getTaille() {
        return taille;
        }
     
        public void setTaille(Integer newValue) {
        taille = newValue;
        }
        public void setTailleItems(SelectItem[] tailleItems) {
        this.tailleItems = tailleItems;
        }
     
        public SelectItem[] getTailleItems() {
     
        return tailleItems;
        }
        private SelectItem[] valeurs2={ new SelectItem ( new Integer(1) ,"" )};
     
     
     
     
        public void remplirListe2 (ValueChangeEvent valueChangeEvent) {
        String choix= valueChangeEvent.getNewValue().toString();
        System.out.println("********"+choix);
        int choix2=Integer.parseInt(choix);
        if (choix2==2){
        System.out.println("********"+choix);
        SelectItem[] valeurs22={ new SelectItem ( new Integer(1) ,"incedie foret" ),
        new SelectItem ( new Integer(2) ,"incendiexxxx" )} ;
     
        setValeurs2(valeurs22);
        }
    }
     
        public void setValeurs2(SelectItem[] valeurs2) {
            this.valeurs2 = valeurs2;
        }
     
        public SelectItem[] getValeurs2() {
            return valeurs2;
        }
    }


    faces-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
        <managed-bean-name>beanTest</managed-bean-name>
        <managed-bean-class>test.BeanTest</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    La deuxième liste se remplie, je n'ai pas touché à ton code... T'es sur que ton appli se déploie et lance bien sans erreurs.

  19. #19
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut sans chance
    salut
    moi aussi j ai utilisé presque votre code mais toujours il y a des problemmes
    c est bizad avec ce composant j ai utilisé toute les astuces mais rien
    j espere qu on vat trouver la solution
    @+

Discussions similaires

  1. [AJAX] 4 listes deroulantes liees
    Par Jeol2007 dans le forum AJAX
    Réponses: 7
    Dernier message: 13/11/2009, 18h49
  2. Problem avec les list horizentale
    Par mehdi_scofield dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/10/2008, 16h39
  3. [HTML] probleme avec une liste deroulante et un menu contextuel
    Par Akramweb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 21/06/2008, 22h17
  4. [MySQL] Problème avec une liste déroulante
    Par leloup84 dans le forum SQL Procédural
    Réponses: 19
    Dernier message: 24/01/2006, 12h57
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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