[Struts-Layout] un champ modifiable dans une collection
j'ai une collection voici son code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<layout:collection name="reservationForm" property="reserv" styleClass="SCROLL" styleClass="FORM" width="900" height="180">
<layout:collectionItem title="WAREHOUSE" property="whs" sortable="true"></layout:collectionItem>
<layout:collectionItem title="ARTICLE" property="art" sortable="true"></layout:collectionItem>
<layout:collectionItem title="PROFIL" property="prof" sortable="true"></layout:collectionItem>
<layout:collectionItem title="HLR" property="hlr" sortable="true"></layout:collectionItem>
<layout:collectionItem title="PQ" property="pq" sortable="true"></layout:collectionItem>
<layout:collectionItem title="activation" property="activ" sortable="true"></layout:collectionItem>
<layout:collectionItem title="packaging" property="pack" sortable="true"></layout:collectionItem>
<layout:collectionItem title="QTE" property="qte" sortable="true"></layout:collectionItem>
<layout:collectionItem title="+" property="ajouter" action="/reservation.do?hidden=afficher" paramId="article,qute,whss,hllr,pqq,prff" paramProperty="article,qute,whss,hllr,pqq,prff">
<center> <layout:img srcName="add.GIF" border="0"></layout:img> </center>
</layout:collectionItem>
</layout:collection> |
quand je clique sur le collection item"ajouter",je récupèr une ligne de cette collection et je la mis dans une autre collection voici son code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<layout:collection name="reservationForm" property="reserv2" indexId="index" styleClass="SCROLL" styleClass="FORM" width="800" height="120">
<layout:collectionItem title="WAREHOUSE" property="wh" sortable="true"></layout:collectionItem>
<layout:collectionItem title="ARTICLE" property="aa" sortable="true"></layout:collectionItem>
<layout:collectionItem title="PROFIL" property="pp" sortable="true"></layout:collectionItem>
<layout:collectionItem title="HLR" property="hlr2" sortable="true"></layout:collectionItem>
<layout:collectionItem title="PQ" property="pq2" sortable="true"></layout:collectionItem>
<layout:collectionItem title="QTE ">
<layout:text property="reserv2[${index}].qt" layout="false"/>
</layout:collectionItem>
<layout:collectionItem title="X" property="retirer" action="/reservation.do?hidden=Retirer" paramId="aaa,qtt,whs,ppp,hllr2,pqq2" paramProperty="aaa,qtt,whs,ppp,hllr2,pqq2">
<center> <layout:img srcName="supp.GIF" border="0"/> </center>
</layout:collectionItem>
</layout:collection> |
et voici le code de la méthode "reservation.do?hidden=afficher" qui me permet de faire ça :
Code:
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
|
Reserv2 swp = new Reserv2();
list = reservationForm.getReserv2();
art = request.getParameter("article");
System.out.println(art);
whs = request.getParameter("whss");
System.out.println(whs);
qute = request.getParameter("qute");
long quantite = Long.parseLong(qute);
System.out.println(qute);
//// / les parametres
pq = request.getParameter("pqq");
System.out.println(pq);
profil = request.getParameter("prff");
System.out.println(profil);
hlr = request.getParameter("hllr");
System.out.println(hlr);
swp.setAa(art);
swp.setPp(profil);
swp.setWh(whs);
swp.setHlr2(hlr);
swp.setPq2(pq);
swp.setQt(qute);
////les param
swp.setAaa(art);
swp.setQtt(qute);
swp.setWhs(whs);
swp.setPpp(profil);
swp.setHllr2(hlr);
swp.setPqq2(pq);
list.add(swp);
reservationForm.setReserv2(nouv); |
donc cette action récupère la 2eme collection et lui ajoute une ligne qui contient
un champ modifiable :
Code:
1 2 3 4
|
<layout:collectionItem title="QTE ">
<layout:text property="reserv2[${index}].qt" layout="false"/>
</layout:collectionItem> |
le problème c'est quand je modifie la valeur de ce champs et je veux ajouter
une autre ligne il ajoute cette ligne mais il m'affiche la 1er ligne que j'ai modifie avec la valeur ancienne (avant la modification)
apparament puisque je ne submit pas le form
est ce que qlq'un peut me dire comment je fais pour qu'il prend les modifications en considération
merci