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

Struts 1 Java Discussion :

[JSP][Struts]Liste déroulante et bean


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [JSP][Struts]Liste déroulante et bean
    Bonjour,

    Je souhaite créer une liste déroulante avec un contenu dynamique.

    Dans mon action je recupere une liste d'objet du type TYPE1

    Lors de la fabriquation de la liste j'ai une erreur pour alimenter le value de la liste déroulante.
    Voici mon code dans le formulaire jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <html:form method="POST" enctype="multipart/form-data" name="fileuploadform" type="mesforms.FileUploadForm" action="/upload">
    Type de l'objet : 
       <html:select property="itemSelected" value="itemSelected"> 
          <logic:iterate id="currentTypeStrucList" name="STypeObjStrucList" 
          scope="session" type="Mesbeans.TypeObjet" >
             <html:option value="<bean:write name="currentTypeStrucList"  property = "cd_typ_obj"/>">
               <bean:write name="currentTypeStrucList" property="lm_des_typ_obj" />
             </html:option> 
          </logic:iterate> 
       </html:select>             
    </html:form>
    J'ai essaye de facon d'alimenter le value mais toujours un message d'erreur "currentTypeStrucList" n'a pas de valeur(avec les coordonnées de celui apres value).

    Comment alimenter le value avec la valeur d'une propriete de mon bean TypeObjet.

    Merci

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:option value="<bean:write name="currentTypeStrucList"  property = "cd_typ_obj"/>">
    Je suis étonné que le compilo accepte ca

    Pour répondre à la question que tu as posé dans l'autre post, il s'agit de la syntaxe jstl.

    De quelle forme est ton bean STypeObjStrucList

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par ze_key
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:option value="<bean:write name="currentTypeStrucList"  property = "cd_typ_obj"/>">
    Je suis étonné que le compilo accepte ca

    Pour répondre à la question que tu as posé dans l'autre post, il s'agit de la syntaxe jstl.

    De quelle forme est ton bean STypeObjStrucList
    Je te rassure qd je l'appelle il refuse je vois pas comment alimenter le value avec la valeur de mon bean.

    Mon bean STypeObjStrucList est du type TypeObjet que voici:

    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
     
    public class TypeObjet implements Comparable {	
    	private String cd_typ_obj; 
    	private String lm_des_typ_obj; 
    	public TypeObjet(){
    			this.cd_typ_obj = null;
    			this.lm_des_typ_obj = null;
    	}
    	public TypeObjet(String cd_typ_obj,String lm_des_typ_obj){
    		this.cd_typ_obj = cd_typ_obj;
    		this.lm_des_typ_obj = lm_des_typ_obj;
    	}	
    	public String getCd_typ_obj() {
    		return cd_typ_obj;
    	}
    	public String getLm_des_typ_obj() {
    		return lm_des_typ_obj;
    	}	
    	public void setCd_typ_obj(String string) {
    		cd_typ_obj = string;
    	}	
    	public void setLm_des_typ_obj(String string) {
    		lm_des_typ_obj = string;
    	}	
     
    }

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       <html:select property="itemSelected" >
          <html:optionsCollection property="STypeObjStrucList" value="cd_typ_obj" label="lm_des_typ_obj"/>
       </html:select>
    En suposant que itemSelected est une propriété du form contenant la valeur à selectionner, que STypeObjStrucList est une liste ou un tableau de bean de type TypeObjet. Ce type objet contenant 2 propriétés, cd_typ_obj étant le code ou value et lm_des_typ_obj étant le texte ou label.

  5. #5
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Quand on utilise Struts, la première règle importante est de respecter les conventions de nommage java pour être sûr que ça fonctionne correctement.

    Donc, par exemple, les propriétés doivent commencer par une minuscule et si elles sont composées de plusieurs mots, elles doivent comporter une majuscule à chaque nouveau mot.

    Dans le cas de la liste que tu as appelé STypeObjStrucList, je ne suis pas certaine que Struts parvienne à appeler le getter correspondant.
    Idem pour les propriétés qui contiennent un underscore.

    Sinon, pour le code du html:select, je suis d'accord avec ze_key.

  6. #6
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Citation Envoyé par c_nvy
    Quand on utilise Struts, la première règle importante est de respecter les conventions de nommage java pour être sûr que ça fonctionne correctement.

    Donc, par exemple, les propriétés doivent commencer par une minuscule et si elles sont composées de plusieurs mots, elles doivent comporter une majuscule à chaque nouveau mot.

    Dans le cas de la liste que tu as appelé STypeObjStrucList, je ne suis pas certaine que Struts parvienne à appeler le getter correspondant.
    Idem pour les propriétés qui contiennent un underscore.
    En fait (c'est pas pour être contrariant ) mais ce qui est important c'est que grace à la reflexion le propertyUtil retrouve le getter et le setter.
    Hors pour se faire il prend la property lui colle une majuscule devant et un get ou un set. Du moment que c'est un nom java valide c'est bon. Et un nom java valide c'est un nom qui commence par $ ou une lettre et puis tout ce que tu veux. Quoique le $ et la jstl ou les les el....

    Enfin tout ca pour dire que ca va marcher avec les _ même si c'est vrai que ce n'est pas standard. Mais qui sait ce que l'on trouve comme coding guidelines dans les entreprises. Surtout venant d'anciens programmeurs C++


  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci a tous je teste et je reedite

    En ce qui concerne les nommages le compilateur trouvent bien les get et set.

    Les guidelines en entreprises ici apres un passe de cobol elles sont quasi inexistantes pour le reste.

    Enfin le projet est passe d'un proto, test a un "vrai" projet officiel.

    Mais c vrai qu'une mise au standard ne serait pas un luxe.

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    J ai reussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="itemSelected" name="fileuploadform" > 
          <html:options collection ="STypeObjStrucList" property="cd_typ_obj" labelProperty="lm_des_typ_obj"/> 
      </html:select>
    Merci a vous tous et surtout a ze_key grace auquel j ai pu m inspirer (j ai pas compris pkoi ta solution en marchait pas :s)

  9. #9
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Citation Envoyé par prokcnet
    J ai reussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="itemSelected" name="fileuploadform" > 
          <html:options collection ="STypeObjStrucList" property="cd_typ_obj" labelProperty="lm_des_typ_obj"/> 
      </html:select>
    Merci a vous tous et surtout a ze_key grace auquel j ai pu m inspirer (j ai pas compris pkoi ta solution en marchait pas :s)
    Cherche pas le tag option est le plus (et le seul) versatile. En fait ca dépend des versions de strtus et du type de jsp activée (2.0 ou pas)

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Si je puis me permettre, je suis aussi dans les listes déroulantes en ce moment et j'aimerais mettre un style différent à chaque option. Il me faut donc alimenter la propriété "styleClass" par une des propriétés de mon objet mais pas moyen...

    Je résume, j'ai une liste de bean à afficher dont les propriétés sont :
    - id : id à retourner lors de la sélection
    - libelle : libellé à afficher
    - charte : class à appliquer à la ligne de la liste déroulante (j'ai 3 style différente pour la liste)

    Je n'arrive pas à trouver de solution... Si j'utilise des tags <option> dans un <html:iterate />, lorsque je fais une action, ma sélection dans la liste disparait (le selected n'arrive pas à se positionner). Si j'utilise la technique décrite ci dessous, je n'arrive pas à appliquer de style dynamique à mes lignes de ma liste déroulante.

    Quelqu'un aurait une idée ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    En fait pour l'instant j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="idService" name="monForm">
         <html:options collection ="listeService" property="id" labelProperty="libelle"/>
    </html:select>
    Et il me faudrait rajouter un style dynamique sur chaque option. Ce style est dans la propriété "charte" de chaque objet.

Discussions similaires

  1. [JSP / JavaScript] Listes déroulantes liées
    Par salma.i dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/04/2015, 00h47
  2. [JSP/STRUTS] pré-selection liste déroulante
    Par Zxyankxya dans le forum Struts 1
    Réponses: 7
    Dernier message: 20/01/2006, 15h14
  3. Réponses: 4
    Dernier message: 21/08/2005, 19h14
  4. [JSP]Listes déroulantes
    Par asterix76-rouen dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 30/04/2004, 15h23
  5. [ JSP ][ Débutant ] Liste déroulante + actualisation de page
    Par captainpouet dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 17/04/2004, 19h51

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