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 :

ecrire deux listes dans un select


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut ecrire deux listes dans un select
    Bonjour à tous,
    J'ai un pb un peu compliqué lorsque j'essaie d'insérer deux collections dans un <html:select> de ma page jsp. ( j'utilise struts 1.1)
    avec le bout de code suivant j'arrive à inserer la liste contenant les traductions des objets ( listeObjets ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:options collection="listeObjets" property="ref"
                  labelProperty="listeCompositions[0].traduction" name="refLdp"/>
    Le probleme survient quand je veux inserer la liste des libellés de ces objets de telle façon à avoir libelle(ref) affiché dans mes options.

    Voila ça me bloque et j'aimerais avoir votre avis la dessus y a t il moyen de resoudre ce pb ou bien faut il agir autrement.

    Merci bcp

  2. #2
    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
    Le plus simple est de constituer une seule collection d'objets ayant pour propriétés ref et libelle.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    C'est une bonne idée d'ailleurs j'ai une seule collection ( il s'agit de la meme collection ) mais je sais pas afficher le libelle et la ref avec la balise options j'ai vu sur la doc de struts c'est noté nulle part comment le faire.

  4. #4
    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
    Si la collection listeObjets est une propriété de l'ActionForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:optionsCollection property="listeObjets" value="ref" label="libelle"/>
    sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options collection="listeObjets" property="ref" labelProperty="libelle"/>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Merci pour votre réponse le pb n'est pas là. ça je le fais comme je l'ai écrit sur mon premier message.
    Le pb survient en fait lorsque je veux afficher et le libelle et la ref .

    J'arrive pas à voir comment faire.

  6. #6
    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
    Désolée mais je n'avais pas bien compris ton besoin.

    Dans ce cas-là, tu peux créer une nouvelle propriété dans ton objet qui contient la concaténation des deux.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    ça parait être une très bonne idée jke l'essaie et je reviens à toi. Merci

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Je ne peux pas rajouter ce champ. il s'agit d'un objet générique et le chef ne veut pas le modifier ( je travaile sur une evol) . Je sais pas s'il y a moyen de le faire en jsp.

    Merci

  9. #9
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par rherrad
    Je ne peux pas rajouter ce champ. il s'agit d'un objet générique et le chef ne veut pas le modifier ( je travaile sur une evol) . Je sais pas s'il y a moyen de le faire en jsp.
    Ca devrait pas exister les chefs ...

    La seule solution que je vois dans ce cas c'est de faire un traitement javascript.
    Ou alors ne pas le presenter dans un html:select mais a travers de liens.

    Ou sinon peut-etre en generant le html du tag option.

  10. #10
    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
    En J2EE 1.4, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html:select property="refSelected">
       <logic:iterate id="item" name="listeObjets">
    	<html:option value="${item.ref}">
    		<bean:write name="item" property="ref"/>-<bean:write name="item" property="libelle"/>
    	</html:option>
       </logic:iterate>
    </html:select>
    En J2EE 1.3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html-el" %>
     
    <html:select property="refSelected">
       <logic:iterate id="item" name="listeObjets">
    	<html-el:option value="${item.ref}">
    		<bean:write name="item" property="ref"/>-<bean:write name="item" property="libelle"/>
    	</html-el:option>
       </logic:iterate>
    </html:select>

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    C'est superça prouve que je suis sur le bon chemin. En réailité j'ai testé par la balise <logic:iterate > ça m'affiche bien ce que je veux . Mais le pb dans ce cas c'est qu'il ne prend pas en compte ma selection.
    càd même si je selctionne une valeur rien ne se passe bien que je soumet le form. ( l'objectif étant de remplir une autre collection qui dépend de la première) . Je suis en j2ee1.4

  12. #12
    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
    Peux-tu montrer ce que tu as codé exactement ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Voici ce que j'ai codé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <logic:iterate name="listeLignesProduit" id="ldp" indexId="index">
    						<option value="<%=ldp%>" selected="selected">
    							<bean:write name="ldp" property="listeCompositions[0].traduction" />
    							(<bean:write name="ldp" property="ref" />)
    						</option>
    						</logic:iterate>


    Merci

  14. #14
    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
    Euh, ce n'est pas bien clair. Y a un problème de commentaires.
    Et où est passé le tag html:select ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    il est plus haut d'accord je te met tout à disposition

    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
    <html:select styleId="fldLdp" property="refLdp"
    				onchange="javascript:this.form.currentAction.value='choisirLdp';this.form.btnSubmit.disabled='false';this.form.submit()"
    				disabled='<%=nouveauPe?false:true%>'>
    		<html:option value="">
    			<bean:message key="tp.filtre.ldp.choix" />
    		</html:option>
    		<logic:notEmpty name="<%=RequestHandler.CHAMP_DEFINITION_PE_LDP%>">
    		<bean:define name="listeLignesProduit" id="ligneProduit" />
    			<logic:iterate name="listeLignesProduit" id="ldp" indexId="index">
    				<option value="$(ldp.ref)">
    					<bean:write name="ldp" property="listeCompositions[0].traduction" />
    					(<bean:write name="ldp" property="ref" />)
    				</option>
    			</logic:iterate>
    		</logic:notEmpty>
    </html:select>

  16. #16
    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
    Le tag html:select est-il bien dans un tag html:form ?
    Quel est le nom du form-bean ?
    Normalement, dans l'attribut onchange, on met ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="document.nomDuFormBean.submit();"
    As-tu bien codé getter et setter sur la propriété refLdp dans l'ActionForm ?
    As-tu un message d'erreur ?

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Tout ça est fait. j'ai bien mes getter ets setter

    le formBean :: detailsPeForm

    le submit est fait

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Je pense qu'il faut avoir ça en struts càd le pouvoir de récupérer plusieurs properties d'un bean dans un seul composant html. ça facilitera bcp le travail des développeurs.

  19. #19
    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
    Mais qu'est-ce qui ne fonctionne pas exactement ?
    Tu ne récupères pas la valeur du ref sélecté ?
    Comment la récupères-tu ?

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    Le pb persite encore depuis hier. en réalité je recupere bien la valeur selectionnée. je remplie la deuxième liste comme il faut ( un autre select) mais je n'affiche pas ma valeur selectionnée sur la vue.

    voila c'est un pb d'affichage.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Ecrire une liste dans un fichier .txt
    Par afifaNancy dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 14/02/2011, 16h49
  2. stockage de deux listes dans une liste finale
    Par Mobistar dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 07/08/2008, 18h36
  3. [Struts-Layout] deux listes dans un formulaire
    Par pigeon11 dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/09/2007, 09h54
  4. Réponses: 7
    Dernier message: 14/12/2006, 22h16
  5. afficher les champs null de deux tables dans un select
    Par poil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/09/2005, 15h05

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