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] : gérer plusieurs le meme composants dyamiquement ?


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 54
    Points : 40
    Points
    40
    Par défaut [STRUTS] : gérer plusieurs le meme composants dyamiquement ?
    Salut à tous,

    je galère grave de grave sur un prb. G une vue qui doit afficher pour chaque
    produit un <html:select....> qui doit offrir la possibilité à l'admin d'indiquer
    la position du produit lors de son affichage. Ne connaissant pas le nombre de
    produit, je ne peux donc pas créer des selects en dur : position1, position2,
    etc...
    Je gere donc mes selects dynamiquement dans ma ActionForm en utilisant
    un tableau : Long positions[]. Le prb est que ma jsp ne peut pas identifier
    les selects car ils portent tous le même nom.
    Comprenez-vous un peu le prb et comment faire pour le résoudre ?

    A+
    --------------------------
    Sebastien

  2. #2
    Membre régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    Par défaut
    Essaye de jouer sur les noms en affectants des noms concaténer avec un compteur ou même faire de ces derniers le nom en entier comme ça tu as des noms différents

  3. #3
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    crée tout simplement un bean avec un champ position et un champ valeur( plus tout ce que tu veux).

    Ensuite au lieux de mettre diretement tes valeurs ds la liste, mets les beans.

    Dans ton iterate, transtype bien dans le type de ce bean pour récupperer les élements.

    @+

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Je comprends bien ton problème et j'ai eu exactement le même (à quelque chose près). Tu devrais regarder les messages que j'ai posté sur le Forum J2EE dernièrement, http://www.developpez.net/forums/vie...855&highlight= par exemple !

    Je vais te dire vite fait comment j'ai régler le mien en espérant que cela t'aide :

    Pour ma part, j'ai un bean "contextBean" avec une méthode getObjets() qui me retourne un ensemble d'objet qui eux-mêmes sont des instances d'une classe Objet

    Class Objet
    - getName() // un nom unique
    - getValues() // retourne une collection d'objets qui ont un getValue() et getLabel()

    Ensuite dans ma page, j'ai quelques choses comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <nest:root name="contextBean">
          <nest:iterate id="objet" property="objets">
              <html:select property="<%="currentObjectId(" + ((Objet)objet).getName() + ")" %>"  onchange="submit();">
                  <html:optionsCollection name="objet" property="values" label="label" value="value" />
             </html:select>
        </nest:iterate>
    </nest:root>
    Cela me créé donc autant de <select> que j'ai d'objet Objet dans ma collection et pour gérer le "pointeur courant", dans l'Action form, j'ai une methode setCurrentObjectId(String id, String value) et une getCurrentObjectId(String id) qui gère une HashMap où sont stockées ces "valeurs courantes" en fonction du nom (unique) de l'objet !

    Donc, voilà, en espérant que cela pourra t'aider. J'ai mis du temps à trouver une solution, suite à plusieurs postes, mais celle là fonctionne bien. Apparemment, il n'est pas possible de mettre à jour directement une valeur dans une Bean.

    N'hésite pas pour d'autres précisions.

    Aurélien

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Merci à tous,

    g trouvéla solution. En fait la magouille que j'avais faite fonctionnait
    presque. Il me manquait un champ caché pour savoir quel 'html:select'
    a été activé. Bon c une solution un peu crade comparée à celles qui ont
    été proposées mais elle tient la route.

    A+

    ------------------
    Sebastien

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

Discussions similaires

  1. Gérer plusieur bouton pour un meme formulaire
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/01/2006, 13h08
  2. Réponses: 5
    Dernier message: 12/05/2004, 16h37
  3. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12
  4. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49
  5. [struts] utiliser plusieurs fichiers properties
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/10/2003, 17h02

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