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] affecter une value ?


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Points : 100
    Points
    100
    Par défaut [struts] affecter une value ?
    Bonjour,

    Je dispose sur ma page d'un <html:select>, qui est alimenté avec un <html:options>. Je souhaiterais pouvoir initialiser l'option choisie à l'ouverture de ma page avec la valeur présente dans un bean de la même page.

    Afin d'avoir au final un code html qui ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select name="monSelect">
    <option value="option1">ma 1iere option</option>
    <option value="option2">ma 2ieme option</option>
    <option value="option3">ma 3ieme option</option>
    <option value="option4" selected>ma 4ieme option</option>
    <option value="option5">ma 5ieme option</option>
    </select>
     
    <input type="hidden" name="maValeur" value="option4">
    Des idées, des suggestions ?? Car j'ai trouvé comment affected l'attribut selected à une valeur fixe or la valeur à laquelle je souhaite voir affecter cette attribut est déterminée par ma classe action, et se trouve donc dans un bean...

    D'avance merci !

  2. #2
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    tu n'as pas bien expliqué le problème. Mais généralement on utilise la balise <html:select> comme suit:

    je supppose que tu veux avoir une liste déroulante contenant un ensemble de villes. Ton Bean corespondant à la page JSP, nommé myForm, contient une ville par défaut "defaultVille" et une liste d'objets Ville, chaque objet ville contient deux attributs id et libelle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <html:select name="myForm" property="idVille">
            <html:option name="myForm" property="defaultVille" value="0" />
            <html:optionsCollection name="myForm"	property="listeVille" value="id" label="libelle" />
    </html:select>
    Alors pour positionner une valeur qui doit être affichée au chargement de la page tu dois utiliser la balise <html:option> et pour remplir la liste par une liste de valeurs tu utilises <html:optionCollections>.

  3. #3
    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 telgalaf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <html:select name="myForm" property="idVille">
            <html:option name="myForm" property="defaultVille" value="0" />
            <html:optionsCollection name="myForm"	property="listeVille" value="id" label="libelle" />
    </html:select>
    Alors pour positionner une valeur qui doit être affichée au chargement de la page tu dois utiliser la balise <html:option> et pour remplir la liste par une liste de valeurs tu utilises <html:optionCollections>.
    En fait seule html:optionsCollection ou html:options sont nécéssaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select name="ArticleEditerForm" property="idCategorie" >
      <html:options collection="listeCat"  property="idCategorie" labelProperty="nomCategorie" />
    </html:select>
    La selection se faisant par le tag html:select si la property est bien définie dans l'action précédente (form.setIdCategorie dans ce cas).

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Points : 100
    Points
    100
    Par défaut
    Désolée j'ai du mal à expliquer clairement ce que je veux.

    En fait ma page doit me présenter la liste des années entre 1950 et 2050, stockée dans la collection listeAnnees. Je voudrais qu'au chargement de la page l'année courante (2006) soit préselectionnée. Cette année courante se trouve dans un autre bean.

    Voila mon code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html:select name="ParametrageForm" property="selectAnnee" >
    	<html:options collection="listeAnnees" property="value" labelProperty="label"/>
    </html:select>
     
    <html:hidden name="ParametrageForm" property="anneeCourante" />
    Peux tu m'aider ?
    En tout cas merci beaucoup de ton attention.

  5. #5
    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
    Citation Envoyé par kiwwi209
    Désolée j'ai du mal à expliquer clairement ce que je veux.

    En fait ma page doit me présenter la liste des années entre 1950 et 2050, stockée dans la collection listeAnnees. Je voudrais qu'au chargement de la page l'année courante (2006) soit préselectionnée. Cette année courante se trouve dans un autre bean.

    Voila mon code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html:select name="ParametrageForm" property="selectAnnee" >
    	<html:options collection="listeAnnees" property="value" labelProperty="label"/>
    </html:select>
     
    <html:hidden name="ParametrageForm" property="anneeCourante" />
    Peux tu m'aider ?
    En tout cas merci beaucoup de ton attention.
    Dans la méthode reset de ton form, il faut mettre la valeur par défaut de ton champs select à l'année courante. normalement ça va marcher.

  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
    Peut etre plus simple mais à tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select name="ParametrageForm" property="selectAnnee" value="anneeCourante" >
       <html:options collection="listeAnnees" property="value" labelProperty="label"/>
    </html:select>

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par Sniper37
    Dans la méthode reset de ton form, il faut mettre la valeur par défaut de ton champs select à l'année courante. normalement ça va marcher.
    Cela fonctionne parfaitement !

    Merci beaucoup à tous de votre aide.

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

Discussions similaires

  1. affectation <xsl:value-of> a une value en html
    Par 19dev86 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 17/12/2008, 17h53
  2. [STRUTS][LOGIC]Attribute 'value' dynamique
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 10
    Dernier message: 25/12/2004, 13h58
  3. [scriplet] affecter une valeur par un bean:write
    Par viena dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 25/11/2004, 17h29
  4. [Struts]Select, options & value ...
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 01/07/2004, 11h40
  5. [ Struts ] recuperer une valeur dans une url?
    Par njac dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2004, 15h24

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