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 :

recuperation des valeurs d'un formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut recuperation des valeurs d'un formulaire
    Salut,

    enfaite mon probleme c'est que je n'arrive pas a recupérer la liste des valeur d'un formulaire.

    Je m'explique j'ai une collection sur lequel je fais un logic:iterate et qui me genere des champs <html:text />.
    Le truc c'est que je voudrai pouvoir recupérer la valeur de tous les champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html:form action="action.do">
     <logic:iterate id="object" name="collection" >
      <html:write name="object" property="property" />
      <html:text property="estime" />
     <logic:iterate>
     <html:submit>ok</html:submit>
    </html:form>
    Enfaite j'aimerai bien récupérer une liste des valeurs "estime"

    strut-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form-bean name="dynaEstimeForm" type="org.apache.struts.action.DynaActionForm">
     <form-property name="estime" type="java.lang.String[]" />
    </form-bean>
    Je le récupère ainsi dans ma classe qui herite de Action:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     DynaActionForm myForm = (DynaActionForm) form;
    String [] estime = myForm.getStrings("estime");
    System.out.println(estime);
    Affichage de estime:
    [ L.java.lang.String@15315

    Je ne comprend pas si quelqu'un pouvais m'aider

    Merci

  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
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <logic:iterate id="object" name="collection" indexId="index">
       <html:write name="object" property="property" />
       <html:text property="estime[${index}]" />
    <logic:iterate>
    et dans l'Action, pour afficher son contenu, il faut itérer sur le tableau de String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i=0; i<estime.length; i++)
    {
      System.out.println(estime[i]);
    }

  3. #3
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    oué c'est bon mais comment fait ton pour que notre tableau ai une taille variable car la je suis obliger de lui donnée une taille fixe dans mon struts-config sinon j'ai un ArrayOutOfBoundException ?

  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
    Avec un tableau de String, tu es obligé de fixer sa taille.
    Essaie plutôt de travailler avec une ArrayList.

  5. #5
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    ok mais apres comment je l'utilise dans la Vue ?

  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
    En fait, après réflexion, tu as peut-être une solution pour t'éviter de donner une valeur fixe au tableau de String (personnellement, je ne l'ai jamais testé sur une DynaActionForm).

    Dans l'Action dans laquelle tu constitues la collection, tu peux initialiser le tableau de String avec la taille de la collection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DynaActionForm myForm = (DynaActionForm) form;
    myForm.set("estime",new String[collection.size()] ;
    Cela t'oblige à référencer le form-bean dans le mapping de cette Action dans le struts-config.xml et à mettre le scope à session.

  7. #7
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    C'est bon ta methode fonctionne!! Merci bien mais j'ai pas tellement compris pour le scope a Session. Tu parlais de quel objet que je devais sauvez dans la session?

  8. #8
    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
    Dans le struts-config.xml, dans le mapping des deux Actions liées au DynaActionForm, il faut mettre l'attribut scope="session".
    Si tu n'as pas précisé d'attribut scope, il est à session par défaut.

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

Discussions similaires

  1. Recuperer l'ensemble des valeurs d'un formulaire
    Par johnson95 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/08/2010, 15h38
  2. Réponses: 3
    Dernier message: 08/01/2009, 14h44
  3. [MySQL] Probleme avec recuperation des valeur d'un formulaire
    Par penguin50 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/04/2008, 10h56
  4. JSP : recuperation des valeurs de champs d'un formulaire
    Par keumlebarbare dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/01/2007, 10h16
  5. Réponses: 3
    Dernier message: 20/09/2006, 16h07

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