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 :

Remplissade de rich combobox


Sujet :

JSF Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Points : 75
    Points
    75
    Par défaut Remplissade de rich combobox
    Bonjour !

    J ai cette méthode pour récuperer la list des codes:
    public ArrayList<Pays> getPays() {
    try {
    Context context = new InitialContext();
    PaysDao pa = (PaysDao) context.lookup("PaysDaoJpa/remote");
    eachPays = pa.findAllcode();



    } catch (NamingException e) {
    e.printStackTrace();
    }
    return eachPays;
    }
    et cette partie de code pour affichage:
    <rich:comboBox suggestionValues="#{listPays.eachPays}" directInputSuggestions="true" defaultLabel="Enter some value"/>
    SVP quelqu'un peut t il me dire ce qui cloche

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu as bien défini un converter pour la classe pays? De plus, ta combobox ne pointe pas vers une valeur (value=....), donc JSF ne sais pas déterminer le converter à utiliser de toutes facons.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Points : 75
    Points
    75
    Par défaut
    On peut reprendre à zéro et m expliquer comment faire pour pointer mon combo box sur une value

    je penssais que le fait de maitre : suggestionValues c est sa qui vas me permaitre de remplir mon combo box

    voila j ai tirez cela de :


    http://livedemo.exadel.com/richfaces...oBox&tab=usage

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Points : 75
    Points
    75
    Par défaut
    et m expliquer pourquoi j aurais besoin d'un converter

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    suggestedValue, ce sont les valeur "possible" de la combobox. value c'est la valeur qui sera stockée quand l'utilisateur soumettra le formulaire. JSF ne travaille qu'avec des formulaire html, les formulaire html à ce jour, ca ne connait qu'une chose, les chaines de caractères (à l'exception du file upload). JSF a donc besoin de pouvoir convertir les autres type en String et inversément. C'est le role des converter. Comme ta liste pointe sur des "Pays", il faut utiliser un converter pour apprendre à JSF comment on convertir un "Pays" en String et comment, quand l'utilisateur soumet la valeur, convertir le String en Pays. Pour trouver le converter, JSF se base soit sur le type pointé par la value (donc pas de value="...." pas de converter) soir sur la présence dans le composant d'un <f:converter ...../>

    De plus, rich combobox a aussi une propriété converter="...." que tu peux utiliser pour préciser le converter.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Points : 75
    Points
    75
    Par défaut
    <rich:comboBox id="code" suggestionValues="#{listPays.paysCode}"
    directInputSuggestions="true" >
    <a4j:support event="onblur" actionListener="#{listPays.affect}" reRender="pays"/>
    </rich:comboBox>
    En faite j ai du convertir ma list de type pays en une array list de type String et sa marche je peut remplir mon combox

    JE NE SAIS PAS COMMENT FAIRE CETTE MANIPULATION AVEC DES CONVERTER
    JE SUIS PARTANTE POUR UNE SOLUTION mieux que celle que je te propose

    Maintenant mon problème et que:

    <a4j:support event="onblur" actionListener="#{listPays.affect}" reRender="pays"/>
    cette portion de code marche à merveille avec un inputext et que elle ne donne rien avec un combo
    voila l erreur:

    GRAVE: Received 'java.lang.NullPointerException' when invoking action listener '#{listPays.affect}' for component 'j_id_jsp_319794120_7'
    13:30:15,187 ERROR [STDERR] 30 mai 2009 13:30:15 javax.faces.event.MethodExpressionActionListener processAction
    GRAVE: java.lang.NullPointerException
    at com.ref.ListPays.affect(ListPays.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    Je te montre comment j ai converti ma list:
    private ArrayList<Pays> Pays = new ArrayList<Pays>();
    private ArrayList<String> PaysCode = new ArrayList<String>();
    public ListPays(){
    try {
    Context context = new InitialContext();
    PaysDao pa = (PaysDao) context.lookup("PaysDaoJpa/remote");
    Pays = pa.findAllcode();

    for (Pays cap : Pays) {
    PaysCode.add(cap.getcode());
    }

    } catch (NamingException e) {
    e.printStackTrace();
    }

    }

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour le converteur, il faut écrire un classe de type converter, l'enregistrer dans ton faces-config.xml et lui donner un ID. A partir de là, ton code JSF y aura accès. Pour ton erreur, regarde ta ligne de code à l'adresse mentionnée dans la première ligne du stack trace, tu as un nullpointerexception.

    pour le converter, tu trouvera de la doc ici
    http://java.developpez.com/faq/jsf/?...ION_converter1

Discussions similaires

  1. Problème de onchange dans un rich combobox
    Par lolita2008 dans le forum JSF
    Réponses: 6
    Dernier message: 27/04/2012, 14h16
  2. probléme avec <rich:comboBox et <a4j:support
    Par aymenroma dans le forum JSF
    Réponses: 5
    Dernier message: 10/06/2009, 15h02
  3. affichage et récupération from rich:comboBox
    Par psycho_xn dans le forum JSF
    Réponses: 7
    Dernier message: 05/09/2008, 16h22
  4. rich:combobox et aj:support
    Par JoeBurtonn dans le forum JSF
    Réponses: 11
    Dernier message: 17/07/2008, 04h23
  5. Réponses: 5
    Dernier message: 16/04/2008, 17h53

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