Comment puis-je obtenir des valeurs de cases à cocher de case à cocher dans struts2 displaytag à la classe d'action

StackOverflow https://stackoverflow.com/questions/798118

  •  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

Était-ce utile?

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.

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

  2. créer un intercepteur qui collecte les valeurs des paramètres préfixés avec 'id'

  3. configurer votre action à utiliser l'intercepteur

Mon fu jambe est rouillé bien. Il y a probablement une meilleure façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top