<display:table> + tri + formulaire : persistence des valeurs du formulaire ?
J'utilise la balise <display:table> de Struts à l'intérieur d'un formulaire.
Lorsque l'utilisateur clique sur une des colonnes de la table, cela provoque le tri de la colonne (c'est le résultat souhaité) mais les valeurs entrées précédemment dans le formulaire sont perdues.
Y a-t-il un moyen simple pour faire en sorte que les valeurs du formulaire soient persistées lors d'un tri d'une table ?
J'ai cherché depuis plusieurs jours sur internet, mais je n'ai rien trouvé.
Voici, pour illustration, mon code JSP simplifié :
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
| <html:form action="/myaction" enctype="multipart/form-data">
<html:errors/>
<html:select property="idRib" value="${myForm.idRib==0?ribDefaut.id:myForm.idRib}">
<c:forEach var="rib" items="${ribs}">
<html:option value="${rib.id}">${rib.bic} - ${rib.iban}</html:option>
</c:forEach>
</html:select>
<display:table id="listeMesObjets" name="requestScope.listeMesObjets" requestURI="${requestURI}"
defaultsort="2" uid="monObjetItem" >
<display:column title="Sélectionner" headerClass="tgHeaderColumn">
<html:multibox styleId="check_${monObjetItem.id}" property="checkSelect" value="${monObjetItem.id}"></html:multibox>
</display:column>
<display:column sortProperty="id" title="Id"
sortable="true" property="id" />
</display:table>
<div>
<span> Fichier numérisé :</span>
<span>
<html:file name="myForm" property="fichier" size="50" styleId="fichier" />
</span>
</div>
<input type="button" title="Valider" value="Valider" name="Btn" onClick="document.forms[0].submit();"/>
</html:form> |
Le tri de la table provoque la perte des cases cochées, et de la valeur de la combobox sélectionnée.