Bonjour ,
j'ai un petit soucis de mise en place pour un formulaire en struts.

J'ai un formulaire auquel je passe une liste d'objets, que l'on affiche sous forme de textBox, l'utilisateur peut ainsi modifier autant d'élément qu'il le souhaite dans la liste, puis soumettre une fois et sauvegarder tous les changements.

Le code de ma classe form :
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
 
//Mes imports
public class AdministrationVariablesForm extends GenericForm {
 
	//-----------------------------------------
	private static Log log;
	private static final long serialVersionUID = -1432824142921206960L;
	private String codeCree;
	private int idUniteSelect;
	private String libelleCree;
	private List<Variable> listeVariables;
	// stockage des coches en cours
	private String[] multiCases;
	private String titre;
	private List<LabelValueBean> uniteDispo;
	//-----------------------------------------
 
	/**
         * Constructeur
         */
	public AdministrationVariablesForm()
	{
		super();
		log = LogFactory.getLog(AbstractGenericDAO.class);
		codeCree = null;
		idUniteSelect = 0;
		libelleCree = null;
		listeVariables = new ArrayList<Variable>();
		titre = null;
		uniteDispo = new ArrayList<LabelValueBean>();
	}
//Mes getters et setters
}
Le code de mon action :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
//Mes imports
public class AdministrationVariablesAction extends AbstractGenericAction {
	//-----------------------------------------
	private static Log log;
	private String action;
	private List<String> listeVariableCoche;
	// La liste des variables
	private List<Variable> listeVariables;
	private List<Variable> lv;
	private IMoteurTarifaireFacade mofacad;
	// Le tableau des coches
	private String[] tab;
	private List<LabelValueBean> uniteDispo;
	//Liste des variable en retour de modif
	private List<Variable> listeVariableModif;
	private Variable variableModif;
	//-----------------------------------------
 
	/*
	 * Constructeur.
	 */
	public AdministrationVariablesAction()
	{
		super();
		log = LogFactory.getLog(AbstractGenericDAO.class);
		this.mofacad = MoteurTarifaireFacadeImpl.get();
		this.action = "defaut";
		this.listeVariables = new ArrayList<Variable>();
		this.uniteDispo = new ArrayList<LabelValueBean>();
		this.listeVariableCoche = new ArrayList<String>();
		this.listeVariableModif = new ArrayList<Variable>();
		this.variableModif = new Variable();
	}
 
	/**
         * Execute une action.
         */
	public ActionForward executeAction(ActionMapping mapping, ActionForm aform,
			HttpServletRequest request, HttpServletResponse response)
	throws Exception {
 
		// On récupère le contenu de la requête action.
		this.action = request.getParameter("action");
 
		// Description des divers cas possibles sur la page.
		if (this.action.equalsIgnoreCase(""))
		{
			log.debug("Action = null");
		}
		else if (this.action.equalsIgnoreCase("majListeVariables"))
		{
			log.debug("Action = Mise a jour de la liste des variables");
			this.majTitre(request, aform);
			this.majUpdateListeVariable(request, aform);
			this.majListeUniteDispo(request, aform);
			this.majListeVariables(request, aform);
		}
		return mapping.getInputForward();
	}
 
	/**
         * Méthode de récupération des modifications sur la liste des variables.
         * @param request
         * @param aform
         * @throws DAOException
         */
	public void majUpdateListeVariable(HttpServletRequest request, ActionForm aform) throws DAOException
	{
		log.debug("Mise à jour des modifications sur la liste de varaibles");
		listeVariableModif = ((AdministrationVariablesForm) aform).getListeVariables();
 
		if(listeVariableModif.isEmpty())
		{
			log.debug("Aucune modif detectée");
		}
		else
		{
			for (int i = 0; i < listeVariableModif.size(); i++) {
				variableModif = listeVariableModif.get(i);
				log.debug("variable modifiée :"+variableModif.getCode()+" et libelle "+variableModif.getLibelle());
			}
		}
	}
}
Alors j'explique ça plus brièvement :
On passe une liste d'objet contenant des propriétés:
-Un code
-Un libelle
-Une unité

puis cela me génère un tableau avec un logic iterate, mon soucis est sur la récupération des modifications sur ce tableau.

Voila toute idée ou aide est bienvenu.