[Struts 1.1] Petit Lutin qui décoche mes checkbox
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:
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:
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:
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:
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.
http://www.olivarea.fr/img/avant.jpg->enregistrement ->http://www.olivarea.fr/img/apres.jpg
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 !