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 : 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
<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.