2009-04-28 3 views
1

Je travaille sur struts2 application dans laquelle j'utilise displaytag pour le soutien de la pagination.Comment puis-je obtenir des valeurs de cases à cocher de case à cocher dans struts2 displaytag à la classe d'action

Maintenant, je veux une case à cocher pour chaque ligne de la table pour ce 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 son travail bien. 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

Répondre

2

Si vous ajoutez une chaîne [] à votre action porte le même nom que votre case (s) et l'exposer via accesseurs (getters/setters) entretoises 2 devrait automatiquement remplir.

+0

Merci j'y pensais mais je n'étais pas sûr .u m'a donné du soutien et c'est fini – harshalb

0

Voici comment je le ferais.

  1. au lieu de 'id' pour toutes les colonnes id, ajoutez un numéro de séquence de sorte que chaque identifiant a un nom unique, comme 'ID1', 'ID2' etc

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

  3. configure votre action pour utiliser l'intercepteur

Mon fu jambe est rouillé bien. Il y a probablement un meilleur moyen.

Questions connexes