Bonjour à toutes zet à tous !

Bon Je ne passe jamais par ce forum sans un bon vieux soucis à deux balles et bizaroide.

Le problème du jour est le suivant :


J'ai une liste de parcs de clients. J'ai un message d'incident que je veux affecter à un ou plusieurs parcs. Alors pour cela j'associe à chaque parc un flag "coche" qui une fois le formulaire validé je regarde pour voir si on a coché la case.

Bon je sens que deux personnes ont déjà quitté le sujet, bon regardons le code...

Au niveau de la JSP voici la liste de parc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<nested:iterate property="listeParc">
<tr>
   <td align="center"><b><nested:write property="parc" /></b></td>
   <td align="center"><nested:checkbox property="estCoche" value="true" /></td>
</tr>
</nested:iterate>
Au niveau de l'objet parc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
private boolean estCoche = false;
 
public boolean getEstCoche() {
   return estCoche;
}
 
public void setEstCoche(boolean estCoche) {
   this.estCoche = estCoche;
}
Au niveau de l'ActionForm :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public void reset(ActionMapping arg0, HttpServletRequest request) {
    Iterator iteListeParc = this.listeParc.iterator();
    while (iteListeParc.hasNext()) {
	((Parc) iteListeParc.next()).setEstCoche(false);
    }
}
Au niveau de mon DispatchAction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
/*** Avant j'ai supprimé touts les parcs liés à l'incident ***/
Iterator itelisteParc = monForm.getListeParc().iterator();
while (itelisteParc.hasNext()) {
	Parc parc = (Parc) itelisteParc.next();
	if (parc.getEstCoche()) {
		messMgr.addParcToIncident(parcIncident);
	}
}
Il est à noté qu'au débug, la liste des parcs monForm.getListeParc(), contient déjà un parc décoché par le lutin !

Le formulaire est de type scope="session"

Mon problème docteur c'est que quand je coche, par exemple, les 4 premiers parcs de la liste, que je valide, un petit lutin me décoche TOUJOURS la même case.

->enregistrement ->

Les cases décochées par le lutin sont différentes en fonction des cases cochées à l'origine, mais si je coche toujours les même, les mêmes seront toujours décochées.

Alors avant de me jeter par la fenêtre, je m'en remets à vous.

Merci !