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

Servlets/JSP Java Discussion :

remplir une <select> avec une liste


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut remplir une <select> avec une liste
    Bonjour,
    je suis nouveau sur JSP et j'ai bien sûr commencé par suivre des tutoriels, mais forcément je ne peux pas avoir tout assimilé d'un coup...

    bref, j'ai une liste déroulante, que je remplis "à la main", du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select id="selectiontruc"
     		name="selecttruc" size="1" >
      <option value="">Sélectionnez un truc</option>
      <option value="t1">Truc 1</option>
      <option value="t2">Truc2</option>
    </select>
    J'aimerais beaucoup remplir cette liste à l'aide d'une classe java, mais je n'y arrive pas... J'ai notamment essayé ce que j'ai trouvé à ces adresses:

    http://www.developpez.net/forums/sho...ghlight=select
    et
    http://www.developpez.net/forums/sho...ghlight=select

    ça m'a l'air clairement expliqué, mais je ne sais pas pourquoi cela ne fonctionne pas chez moi.

    Dans le premier cas, il est précisé : "Ceci suppose que l'objet uneListe est une ArrayList de String mise dans le scope request" mais j'avoue que je ne vois pas vraiment ce qu'il veut dire par là, en pratique...

    Et dans le deuxième cas, la méthode "request" n'est pas reconnue dans la classe java, et eclipse ne me propose pas d'import pour qu'elle soit reconnue...

    enfin bref, j'en ai essayé d'autres mais je ne trouve rien de convaicant...
    si quelqu'un avait une explication à me donner, j'en serais ravi :-)

    cordialement,
    sassien

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    La classe Java, tu veux l'appeler dans la jsp ou dans une servlet ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    Salut c_nvy,

    Eh bien pour le moment je n'ai pas mis de servlet, donc je vais répondre la 1, jsp :-D

    en fait j'ai fait du jsf avant de faire du jsp (c'est peut etre pas optimal comme ordre mais bon...)

    et en jsf on a un bean, qui peut contenir une liste d'objets. et dans la page jsp correspondante il suffit de référencer le nom du bean en question, et celui de la liste, et boum, on a la liste déroulante...

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Je suppose donc que dans ta classe Java, tu as écrit une méthode qui renvoie une liste de String ou une liste d'objets.
    Il suffit donc de faire appel à cette méthode dans la jsp et ensuite itérer sur la liste comme indiqué dans les discussions que tu as cité.

    Si tu ne t'en sors pas, montre le code de la classe Java et précise ce que tu veux afficher comme value et libelle dans la liste déroulante.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    Bon, je sais que ce n'est pas forcément propre, mais ça je m'en soucierai quand ça marchera :-)

    Dans ma classe java:

    Code java : 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
     
    public class AccueilRequeteMgr {
     
    	private List<Societe> mListeSocietes = new ArrayList();
     
    	public void executer() throws Exception {
     
    		Societe lSociete = new Societe();
    		lSociete.setMCodeSociete("societe1");
    		lSociete.setMLibelleSociete("Société 1");
    		mListeSocietes.add(lSociete);
    		lSociete.setMCodeSociete("societe2");
    		lSociete.setMLibelleSociete("Société 2");
    		mListeSocietes.add(lSociete);
     
    		//request.setAttribute("LISTE_SOCIETES", mListeSocietes);
    	}
     
    	public List<Societe> getMListeSocietes() {
    		return mListeSocietes; }
     
    	public void setMListeSocietes(List<Societe> listeSocietes) {
    		mListeSocietes = listeSocietes; }
    }

    et dans la 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
     
    <jsp:useBean id="AccueilBean" scope="request" type="com.application.managers.AccueilRequeteMgr" />
    <%
    java.util.ArrayList<String> ListeSocietes = (java.util.ArrayList) request.getAttribute("LISTE_SOCIETES");
    %>
     
    <select id="selectSocieteDyn"
     		name="LISTE_SOCIETES" size="1" >
    <%
            for (int i=0; i<ListeSocietes.size(); i++)
            {
                    String item = (String) ListeSocietes.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    En fait, à partir du moment où je mets un <jsp:usebean>, ça plante. (la page n'affiche rien) même si je ne mets pas la suite. Je n'ai pas trouvé beaucoup d'infos dans le fichier de log à ce niveau là...
    Je me doute bien qu'aux yeux d'une personne habituée aux jsp, il doit y avoir quelque chose de pas net, mais moi je ne vois rien.. :-)

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Par défaut
    bonjour
    je ne sais pas est ce que j'ai bien compris se que tu veut mais,j'ai afficher les résultats d'une classe java dans une liste, le return de ma classe est de type String, et non pas un tableau si tu veut je te donnerai se que j'ai fait.

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

Discussions similaires

  1. Faire un Select like avec une liste
    Par kassar32 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/12/2011, 13h31
  2. Remplir un champs TEXT caché avec une fonction on change sur une liste déroulante
    Par tang le breton dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2009, 11h04
  3. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04
  4. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  5. Réponses: 3
    Dernier message: 21/06/2005, 11h37

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