Comment puis-je obtenir des valeurs de cases à cocher de case à cocher dans struts2 displaytag à la classe d'action
-
18-09-2019 - |
Question
Je travaille sur struts2 application dans laquelle je suis en utilisant displaytag pour le soutien de la pagination.
Maintenant, je veux une case à cocher pour chaque ligne de la table pour que je fais cela.
<display:table name="countryList" export="true" class="table" id="countryList" pagesize="${selectedPageSize}" decorator="org.displaytag.decorator.TotalTableDecorator" >
<display:column property="id" title="ID" paramId="id" />
<display:column property="name" title="Name" sortable="true"/>
<display:column title="Delete All">
<s:checkbox id="check" name="check" fieldValue="%{#attr.countryList.id}" theme="simple"/>
</display:column>
</display:table>
<s:submit action="deleteall" value="DeleteSelected" />
jusqu'à ici sa fin de travail. Maintenant, je veux supprimer tous les pays qui sont vérifiés par la case à cocher.
pour que je veux les IDs des pays qui sont cochés .pour que je dois prendre les valeurs dans un tableau.
Le problème est de savoir comment puis-je envoyer les valeurs de jsp puis l'obtenir à la classe d'action
La solution
Si vous ajoutez un String [] à votre action porte le même nom que votre case (s) et de l'exposer via accesseurs (getters / setters) Struts 2 devrait automatiquement remplir.
Autres conseils
Voici comment je le ferais.
-
au lieu de 'id' pour toutes les colonnes id, ajouter un numéro de séquence de sorte que chaque id a un nom unique, tel que 'id1', 'ID2' etc
-
créer un intercepteur qui collecte les valeurs des paramètres préfixés avec 'id'
-
configurer votre action à utiliser l'intercepteur
Mon fu jambe est rouillé bien. Il y a probablement une meilleure façon.