Bonjour,
Je suis depuis pas mal de temps sur un problème de transmission de donnée modifié parl l'utilisateur.
Dans ma page jsp, j'ai une liste de course que j'affiche, et cette liste est modifiable par sa quantité.
Voici le bout de code :
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
 
<html:form action="/ModifierModificationListeCourses.do">
			<table border="1">
				<thead>
					<tr>
						<th><bean:message key="colonne.identifiant"/></th>
						<th><bean:message key="colonne.libelle"/></th>
						<th><bean:message key="colonne.quantite"/></th>
					</tr>
				</thead>
				<tbody>
					<logic:iterate name="afficherListeForm" indexId="index"  property="listeCourses"  id="elementCourse" >
						<tr>
							<td>
							<!-- html:link page="/AfficherDetailModifElement.do?idObjet=${elementCourse.getIdObjet()}" paramName="ElementCourseBean"> -->
								<html:text name="elementCourse" property="idObjet" indexed="true"  />
							<!-- /html:link> -->
							</td>	
							<td>
								<html:text name="elementCourse" property="libelle" indexed="true"/>
							</td>
							<td>
								<html:text name="elementCourse" property="quantite" indexed="true"/>
							</td>
						</tr>
					</logic:iterate>
				</tbody>
			</table>
			<html:submit value="modifier"/>
			<html:reset/>
		</html:form>
Voici ModifierListeCourseAction qui est l'action déclanché lorsqu'on clique sur modifier.
On note que je suis en train de voir pourquoi je n'arrive pas à transmettre les donnée submité dans ma classe action.
Au final je récupère une liste qui a une taille a 0....
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
 
public class ModifierListeCoursesAction extends Action  {
 
 
	public ActionForward execute(final ActionMapping pMapping,
			ActionForm pForm, final HttpServletRequest pRequete,
			final HttpServletResponse pReponse) {
 
		// Récupère les informations du formulaire
 
 
		System.out.println("CHECK MODIF");
		ListeModifElementBean lForm = (ListeModifElementBean)pForm;
               //Test la récupération de la liste
		System.out.println("Taille modif :"+lForm.getListeCourses().size());

Et enfin voici l'ActionForm

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
37
38
39
40
41
42
43
 
public class ListeModifElementBean extends ActionForm implements Serializable {
 
	/**
         * 
         */
	private static final long serialVersionUID = 6567710690454412365L;
	private String erreur;
	private List<ElementCourseBean> listeCourses= new ArrayList<ElementCourseBean>();
 
 
	public String getErreur() {
		return erreur;
	}
	public void setErreur(String erreur) {
		this.erreur = erreur;
	}
	public List<ElementCourseBean> getListeCourses() {
		System.out.println("Taille :"+listeCourses.size());
		return listeCourses;
	}
	public void setListeCourses(List<ElementCourseBean> listeCourses) {
		System.out.println("setListeCourses :"+listeCourses.size());
		this.listeCourses = listeCourses;
	}
 
	public ElementCourseBean get(int i){
		if(!listeCourses.isEmpty())
			return listeCourses.get(i);
		return null;
	}
 
	public void set(int i, ElementCourseBean pCourse){
 
		listeCourses.get(i).setIdObjet(pCourse.getIdObjet());
		listeCourses.get(i).setLibelle(pCourse.getLibelle());
		listeCourses.get(i).setQuantite(pCourse.getQuantite());
 
	}
 
	public int getSize(){
		return listeCourses.size();
	}
On note bien que dans la classe ElementCourseBean, il y a bien les getter et setter.

Voici enfin le struts config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    <action    path      = "/ModifierModificationListeCourses"
               name      = "modificationForm"
               type      = "com.monapplication.ModifierListeCoursesAction"
               scope     = "session"
               validate  = "false"
               input     = "/pages/modification.jsp"
               >
 
        <forward name="succes" path="/AfficherModificationListeCourses.do"  />
        <forward name="erreur" path="/pages/erreur.jsp"  />
    </action>
On note bien que lorsque je clique sur submit, je récupère une liste vide...
Je vous remercie d'avance