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 1] : collection vide suite à la soumission d'un formulaire


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Par défaut [Struts 1] : collection vide suite à la soumission d'un formulaire
    Bonjour,

    Je suis sur une application Struts 1
    Je fais deux actions :
    - Une recherche qui ramène une collection non vide "myCollection".
    - je lance une deuxième action qui fait "soumettre" le formulaire. Je récupère les champs de mon formulaire, mais je n'ai plus les éléments de ma collection "myCollection", elle est "null".

    Voici le code.

    Merci d'avance pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <action path="/myAction"
    		type="fr.MyClassAction"
    		parameter="method"
    		scope="request"
    		validate="false"
    		name="myForm">
    	<forward name="recherche"
    		path="/WEB-INF/jsp/myPage.jsp" contextRelative="true" redirect="false"/>
    </action>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form-bean name="myForm" type="org.apache.struts.validator.DynaValidatorForm">
    	<form-property name="myCollection" type="java.util.List" />
    </form-bean>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html:form styleId="myForm" action="myAction.do?method=myMethod">
    	<logic:iterate name="myForm" property="myCollection" id="elt" indexId="index">
    		<tr>
    			<td><html:text name="elt" property="date" /></td>
    			<td>
    				<html:text name="elt" property="commentaire" />
    			</td>
    		</tr>
    	</logic:iterate>
    </html:form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionForward myMethod(ActionMapping pMapping, ActionForm form,
                    HttpServletRequest pRequest, HttpServletResponse pResponse)
                throws Exception {
            // en mode debug, myCollection dans dynaform est null. Alors que les autres champs sont bien renseigné
            DynaValidatorForm dynaForm = (DynaValidatorForm) form;
     
            String autreChamp = String.valueOf(dynaForm.get("autreChamp"));
     
            // list est null
            List list = (List) dynaForm.get("myCollection");
     
    }

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Par défaut
    Evidemment, avant de poster ma question, j'ai cherché dans les forums et j'ai essayé nested comme solution. Mais la liste est toujours NULL et je me trouve dans une impasse
    Si besoin de plus d'infos, je suis dispo.

  3. #3
    Membre chevronné
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2020
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mai 2020
    Messages : 342
    Par défaut
    Je n'ai pas fait beaucoup de Struts et ça remonte à longtemps.

    Mais, il me semble que myCollection n'est pas un paramètre/input de votre formulaire. Vous ne faites que l'afficher.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Par défaut
    Citation Envoyé par gervais.b Voir le message
    Je n'ai pas fait beaucoup de Struts et ça remonte à longtemps.

    Mais, il me semble que myCollection n'est pas un paramètre/input de votre formulaire. Vous ne faites que l'afficher.
    Il y a des champs de la collection qui sont des inputs. Je ne sais pas ce qu'il faut faire pour rendre la collection paramètre/input du formulaire !!

  5. #5
    Membre chevronné
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2020
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mai 2020
    Messages : 342
    Par défaut
    Est-ce que vous pourriez nous donner le code HTML généré par struts pour le formulaire ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Par défaut
    Voici un extrait du code HTML généré :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr-FR" xml:lang="fr-FR">
     
    <head>
    	<title>[V100] - Mon projet</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<meta http-equiv="Pragma" content="no-cache"/>
        <meta http-equiv="Cache-Control" content="no-cache"/>
        <meta http-equiv="Expires" content="0"/>
    	<script language="JavaScript" type="text/javascript" charset="ISO-8859-1">	
    		// <![CDATA[	
    	</script>
    </head>
    <body>    
     
    	<form name="myForm" method="post" action="/myAction.do?method=print" id="myForm">
    		<table border="1" style="width:%;">
    			<tr>
    				<td class="">Tranche</td>
    				<td>
    					<select name="tranche"><option value=""></option>
    						<option value="val1">VAL1</option>
    						<option value="val2">VAL2</option>
    					</select>
    				</td>  
    				<td style="width:120px;" class="">Date de fin</td>
    				<td style="width:150px;"><input type="text" name="dateAu" maxlength="20" size="20" value="31/03/2022" id="idDateAu" /></td>
    			</tr>
    		</table>                                    
    	</form>
     
    </body>
    </html>
    Mais aucune trace de ma collection "myCollection" dans le code généré !
    Pourtant lorsque je lance la recherche, je récupère la liste et je l'affiche avec l'itérator (indiqué dans le code plus haut) !!
    Ce serait une bonne piste de savoir la cause de l'absence de la collection dans le code html généré.

    Que faut-il faire pour soumettre la collection et l'attacher au formulaire ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2015, 08h22
  2. [STRUTS] Jsp -> Collection DynaActionForm
    Par zphemg dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/04/2008, 17h01
  3. [STRUTS/TAGS/COLLECTIONS] affichage d une liste
    Par hinanui dans le forum Struts 1
    Réponses: 22
    Dernier message: 04/07/2005, 14h03
  4. [STRUTS][LOGIC][COLLECTION]
    Par pi2r dans le forum Struts 1
    Réponses: 5
    Dernier message: 13/12/2004, 19h39
  5. [struts][tomcat]erreur 404 suite à un forward
    Par minique dans le forum Struts 1
    Réponses: 3
    Dernier message: 06/09/2004, 10h11

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