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 :

[Struts] html options


Sujet :

Struts 1 Java

  1. #1
    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
    Points : 5 059
    Points
    5 059
    Par défaut [Struts] html options
    Bonjour,

    J'ai un probleme pas très compliqué pour les struts'eurs, j'ai juste un objet de type Vector dans ma session, je veux mettre son contenu dans une liste à choix multiple. mon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html:select property="code">
             <logic:iterate id="idCode" collection="listCode" scope="session">
             <html:option value="<%= idCode %>">
             <%= idCode %>
            </html:option>
    	</logic:iterate>
    	</html:select>
    Le probleme est que ne marche pas,

    j'ai pensé à le mettre dans un bean, et faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="idCode" property="code" />
    mais il ne va pas trouvé la property code parceque'elle n'existe pas, il faut créer une classe et tout , ya besoin de tt ça :
    merci d'avance.

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: [Struts] Logic iterate
    Citation Envoyé par Sniper37
    <bean:write name="idCode" property="code" />
    Si la propriété code n'existe pas, il suffit de ne pas la mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <bean:write name="idCode" />


    Sinon, plus simplement, utilise le tag html:optionsCollection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:optionsCollection name='listCode' label='idCode' value='idCode' />
    Ca devrait marcher, et c'est quand même plus propre.....

  3. #3
    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
    Points : 5 059
    Points
    5 059
    Par défaut Re: [Struts] Logic iterate
    Citation Envoyé par denisC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:optionsCollection name='listCode' label='idCode' value='idCode' />
    Ca devrait marcher, et c'est quand même plus propre.....
    C'est la bonne solution, mais je suis en struts 1.0, et il me semble ça existait pas le optionsCollection .

  4. #4
    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
    Points : 5 059
    Points
    5 059
    Par défaut Re: [Struts] Logic iterate
    Citation Envoyé par denisC
    il suffit de ne pas la mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <bean:write name="idCode" />

    Ca ne marche pas, apparement je suis obligé de créer un bean pour initialiser la property

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    En STruts 1.0, il me semble que html:options existait déjà.
    Globalement, ca fait la même chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:options collection='listCode' labelProperty='idCode' property='idCode' />
    Ca devrait le faire, même en Struts 1.0....

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    mon conseil serait de passer au moins en struts 1.1 car tu vas rater bcp de mise à jour utile...
    Ex :
    en struts 1.1 tu peux utiliser la classe LabelValueBean qui est une classe expres concu pour les liste déroulante (elle contient un Id et un libelle). Ainsi, tu n'as pas besoin de te créer une classe expres pour mettre l'ID et le libellé de tes listes : tu te fais juste une ArrayListe de LabelValueBean que tu peux itérer ou mieux mettre dans <html:options collection>

    Sinon en struts 1.0, tu auras mieux vite fait de te faire une classe Combo (avec un id et un libelle) pour gérer l'affichage de tes listes...comme ca tu passes toujours par cette classe pour tes listes déroulantes.

    [/code]

  7. #7
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    Ce n'est pas pour le plaisir que je développe en struts 1.0, je reprend une application ancienne, et je n'ai pas le libre choix de passé à une nouvelle version

  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
    Points : 5 059
    Points
    5 059
    Par défaut
    J'ai tjrs un petit souci,

    J'ai un objet de type Vector dans la session (codeValues) et je voudrais mettre ces valeurs dans la liste.

    voilà mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <html:select  property="codeproperty">
              <html:options  collection="codeValues"  />
             </html:select>
    ca donne les erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    java.lang.IllegalArgumentException: No name specified
    	at org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.java:405)
    	at org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
    	at org.apache.struts.taglib.html.OptionsTag.doEndTag(OptionsTag.java:230)
    	at jsp_servlet._jsp._inventaire.__save_cgr._jspService(__save_cgr.java:361)
    	at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    :

  9. #9
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    Voilà une solution qui marche et qui est loin d'etre la meilleure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <% java.util.Vector v= (java.util.Vector) session.getAttribut("codesValues") ; %>
     <logic:iterate id="result" collection="<%=v%>">
    <html:option value="<%=(String)result%>"><%=result></html:option>
    </logic:iterate>
     </html:select>


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

Discussions similaires

  1. [Struts 1.1] [html:options collection]
    Par bbo1991 dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/02/2007, 21h52
  2. [Struts] html:options avec deux Collections!
    Par Sniper37 dans le forum Struts 1
    Réponses: 5
    Dernier message: 15/06/2005, 15h35
  3. [débutant][struts]html:options
    Par GreenJay dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/05/2004, 14h04
  4. [html:select][html:options] pb de submit
    Par wazup dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/05/2004, 18h54
  5. <html:option> struts
    Par amelie6 dans le forum Struts 1
    Réponses: 2
    Dernier message: 03/03/2004, 17h38

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