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 :

Utilisation du selectItems


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Par défaut Utilisation du selectItems
    Bonjour à tous.

    J'ai quelques soucis pour comprendre le fonctionnement du selectItems.

    Voila mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectOneMenu>
            <f:selectItem value="#{exigenceRepoService.recupererDocuments()}" />
    </h:selectOneMenu>
    et mon Bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private static ArrayList<SelectItem> documentList = new ArrayList<SelectItem>();
     
    public List<SelectItem> recupererDocuments(){
    		List<Document> docs = new ArrayList<Document>();
    		docs = session.createQuery("from Document d where d.projet.id = :idProjet")
    		.setParameter("idProjet", getInstance().getProjet().getId())
    		.list();
    		for (int i=0; i<docs.size(); i++) {
    			documentList.add(new SelectItem(docs.get(i),docs.get(i).getTitre()));
    		}
    		return documentList;
    	}
    L'erreur : javax.servlet.ServletException: Argument Error: An option for component j_id55 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.


    Merci par avance pour votre aide.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    utilise plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems value="#{exigenceRepoService.recupererDocuments()}" />

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Par défaut
    Oula oui....

    La semaine commence fort !!

    En tout cas merci!

  4. #4
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Le mieux serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems value="#{exigenceRepoService.recupererDocuments}"/>
    Et du côté du bean, modifier le nom de la fonction en getRecupererDocuments()...
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Par défaut
    Oui merci.

    3 autres petite questions :
    - comment faire pour que par défaut la première valeur de ma liste soit nulle?
    - pour récupérer la valeur choisie par l'utilisateur j'ai rajouté l'attribut value dans le <h:selectOneMenu> ( value="#{exigenceRepoService.documentSelectionne}" ) documentSelectionne étant de type Document mais j'ai une erreure lors de la validation de mon formulaire. Je pense qu'il faut que je fasse un converter, je me trompe ? Si non une piste?
    - j'aimerai que une fois une valeur choisie dans cette première liste, ça m'initialise les valeurs d'une autre liste, plus précisément, une fois le document choisi, je voudrais rajouter une liste qui liste ses chapitres....

    désolé d'abuser ainsi de votre temps

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu peux ajouter un selectItem avant la liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <f:selectItem itemLabel="Select" itemValue="#{managedBean.defaultValue}" />
    <f:selectItems value="#{exigenceRepoService.recupererDocuments}"/>
    - Pour les converters regarde la FAQ JSF

    si tu as des soucis, montre nous ton code.

    -le troisième point est plus simple à gérer en utilisant ajax, quels sont les composants que tu utilises.?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Par défaut
    J'utilise richfaces

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    donc pour modifier l'autre liste ajoutes ça dans le code du premier selectOneMenu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:support event="onchange"  actionListener="#{bean.updateList}" reRender="id_list2" />
    dans la fonction updateList tu mets à jours la valeur de la liste.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Par défaut
    Ok, merci beaucoup.

    Je vais donc essayé tout ça

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/02/2010, 08h20
  2. Utilisation selectItems auto-completion
    Par benoit31 dans le forum JSF
    Réponses: 1
    Dernier message: 28/01/2009, 17h51
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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