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 :

[logic:iterate]setter des valeurs


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut [logic:iterate]setter des valeurs
    je vai stenter d'etre claire... c'est pas gagné !

    j'ai un formulaire qui appel une action dans mon struts-config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <action path="/sv3_sim/sim_ass"
      type="fr.cbp.controller.sim.AssController" 
      name="sim_ass"
      validate="no" 
      scope="session" 
      parameter="redirect">
      <forward name="val" path="/sv3_sim/sim_pret.jsp" />
      <forward name="prec" path="/sv3_sim/sim_info.jsp" />
      <forward name="self" path="/sv3_sim/sim_ass.jsp" />
    </action>
    ce formulaire réfere donc à un bean de porté session

    ce bean contient une liste d'object (des personnes)possédant elle meme ses attributs (nom, prénom, etc...)

    mon formulaire est donc dynamique et est créé à l'aide d'un <logic:iterate> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <l:iterate id="ass"
      name="sim_ass" 
      type="fr.cbp.data.Assure"
      property="assures"
      length="4"	
      scope="session"
      >
      <table class="sim_ent" cellpadding="0" cellspacing="0">
        <tr>
          <td class="label"><b:message key="grl_lbl_nom"/></td>
          <td class="donnee"><h:text name="ass" property="nom"  titleKey="aid_sim_ass_nom" /></td>
          <td class="label"><b:message key="grl_lbl_prn"/></td>
          <td class="donnee"><h:text name="ass" property="prenom"  titleKey="aid_sim_ass_prn" /></td>
        </tr>
      </table>
    </l:iterate>
    pourquoi qd je submit mon formulaire, je n'enregistre pas les valeurs de mes champs textes ?!?

    qq'un à une idée?!?

    en espérant avoir été assez explicite...
    Merci !

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    A vrai dire, pour récupérer les données de la liste, on utilise des bibliothèques un peu plus évoluée comme struts-layout avec ses <layout:collection> et <layout:collectionInput>.
    Sinon, tu peux le faire de cette façon (par exemple dans l'Action) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String[] noms = request.getParameterValues("nom");
    String[] prenoms = request.getParameterValues("prenom");
    for ( int i = 0; i < noms.length; i++ )
    {
       // on suppose que form est l'objet ActionForm du type que tu utilises
       Assure assure = form.getAssures().get(i);
       assure.setNom( nom[i] );
       assure.setPrenom( prenom[i] );
    }
    Ca devrait fonctionner puisque l'indice du nom et prénom correspond à l'indice de l'élément dans la liste...

    Je te conseil quand même de regarder struts-layout ici
    http://struts.application-servers.com/doc/fr/index.html

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert confirmé

    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
    Par défaut
    ou les tags indexés (attribut indexed="true" dans les tags html:text), ou encore plus simple, les tags nested.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    merci a vous deux...
    je vais fouiner ...

    par contre, nested,j'ai regarder, et j'ai pas vu la différence avec logic...
    qq'un a t il une bonne explication, ou un bon lien ?!?

    Merci

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    merci...

    mon problème à un peu évoluer...

    comme je vous le disais j'ai donc tjr mes personnes (que j'arrive désomrais à remplir avec nested et les ActionForms !), mais quand je passe à la page suivant, qui repréente une autre entitée (ex : Adresse) j'arrive à lire mais pas à écrire de nouvelle donnée dans mon objet personne

    page 1 :
    - bean PersonneForm
    - action PersonneAction

    page 2 :
    - bean AdresseForm
    - action AdresseAction

    Comment je peux dans AdresseForm ou dans AdresseAction acèder (en écriture) à PersonneForm et son contenu (liste de Personnes)

    j'espère avoir été assez explicite

    merci d'avance !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    le problème précédent est résolu ...
    j'ai pour cella récupérer les donneés de la session présent dans la fonction "redirect" de la classe Action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AssController assCtrl = (AssController) request.getSession().getAttribute("sim_ass");

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/05/2010, 00h13
  2. Réponses: 0
    Dernier message: 10/02/2010, 19h55
  3. logic:iterate - récupérer les valeurs saisies
    Par parasol007 dans le forum Struts 1
    Réponses: 12
    Dernier message: 16/09/2008, 11h00
  4. [struts][jsp]Valeur dans un logic:iterate
    Par GreenJay dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 21/06/2004, 11h45
  5. Imbriquer des logic:iterate
    Par lalou33 dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/06/2004, 10h31

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