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 :

[Problème]Nombre et nom des champs dynamiques dans un form


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 143
    Par défaut [Problème]Nombre et nom des champs dynamiques dans un form
    Bonjour,

    La je suis bloqué !
    J'ai un formulaire dont le nombre de champs varie c'est a dire qu'il y a une fonction javascript qui ajoutes des variables (date1,nom1, puis date2, nom2 ....)

    Donc avec Struts je ne voit pas comment créer une classe form qui sera capable de contenir l'ensemble de mes variables.

    Une piste ?

  2. #2
    Membre éclairé Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Par défaut
    Bonjour,

    peut-être en le faisant à la main :
    récuperer les paramètres dans le contrôleur (avec servletRequest.getParameter("date"+i) et remplir un Vector dans ton ActionForm.

  3. #3
    Membre éclairé Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Par défaut
    J'ajoute une petite précision: un servletRequest.getParameter(String) sur un élément qui n'existe pas retourne la valeur 'null'.

  4. #4
    zag
    zag est déconnecté
    Membre éclairé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Par défaut
    slt,

    tu peux aussi passer par une map.
    Il te suffit pour cela de déclarer un champ de type Hashmap ds ton form(appelons le "dynaChamp"), de mettre name="dynaChamp('date1')",name="dynaChamp('nom1')" pour les différents éléments de ton formulaire dans ta jsp.
    Par la suite dans ton controleur, tu n'as plus qu'a faire un Hashmap dynaChamp=form.getDynaChamp, et à récupérer les différentes valeurs settées dans ta jsp en faisant des dynaChamp.get('date1'), dynaChamp.get('nom1').

    rq : les valeurs que tu récupères dans ta map seront toutes des String

    Voila, j'espère que ca pourra t'aider

    a+

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 143
    Par défaut
    Bon je vais voir, le contrôleur je ne l'ai jamais utilisé sous Struts ! Va falloir que je buche !
    Si j'ai une solution viable je la publierai mais c'est pas gagné

  6. #6
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    +1 avec zag. Tu dois passer par une hashmap.


    Comme ca, ca na rien de super compliquer:

    tu declares (dans ton form) une methode getXyyyy(String s) et setXyyyy(String s, Object o).

    Et dans ta jsp tu fait par exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="fieldForm" property="xyyyyy('date1')" />

    Attention a bien faire attention aux majuscules et minuscules.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 143
    Par défaut
    OK !
    c'est vrai que la hashmap est une solution a laquelle je n'avais pas pensé !
    J'avoue

    Merci

  8. #8
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Citation Envoyé par maxf1
    Tu dois passer par une hashmap.


    Comme ca, ca na rien de super compliquer:

    tu declares (dans ton form) une methode getXyyyy(String s) et setXyyyy(String s, Object o)
    Citation Envoyé par julienOriano

    public void setMapVariable(String mapVariable, String o) {
    System.out.println("Variable mise ne memoire");
    this.mapVariable.put(mapVariable, o);
    }
    Et sinon montre ta jsp

Discussions similaires

  1. Recuperer les nom des champs SELECT dans une requete
    Par guigui69 dans le forum VBScript
    Réponses: 1
    Dernier message: 28/04/2014, 18h11
  2. [SP-2007] Ajouter des champs dynamiquement dans une cutom list
    Par takuan64 dans le forum SharePoint
    Réponses: 8
    Dernier message: 26/07/2010, 14h12
  3. [AC-2003] problème de mise à jour des champs disponibles dans TCD
    Par patbeautifulday dans le forum IHM
    Réponses: 3
    Dernier message: 03/03/2010, 08h59
  4. [Dojo] Afficher des champs dynamiques dans un grid
    Par DevBetty dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 27/10/2009, 10h50
  5. Réponses: 2
    Dernier message: 08/07/2009, 14h28

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