Come posso ottenere i valori di caselle di controllo da casella Struts2 in displaytag a Class Action
-
18-09-2019 - |
Domanda
Sto lavorando su Struts2 applicazione in cui sto usando displaytag per il supporto impaginazione.
Ora voglio una casella di controllo per ogni riga nella tabella per che sto facendo questo.
<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" />
fino a qui il suo lavoro bene. ora voglio eliminare tutti i paesi che vengono controllati tramite la casella di controllo.
per che voglio gli ID dei paesi che vengono controllati .per che devo assumere i valori in un array.
Il problema è come posso trasmettere i valori da jsp e poi farlo presso la classe di azioni
Soluzione
Se si aggiunge uno String [] per la vostra azione nominato lo stesso del vostro casella di controllo (s) ed esporlo tramite funzioni di accesso (getter / setter) Struts 2 dovrebbe automaticamente popolarlo.
Altri suggerimenti
Questo è come io lo farei.
-
invece di 'id' per tutte le colonne id, aggiungere un numero di sequenza in modo che ogni id ha un nome univoco, ad esempio 'ID1', 'id2' etc
-
creare un intercettore che raccoglie i valori dei parametri prefissati con 'id'
-
configurare la vostra azione per utilizzare l'intercettore
Il mio puntone fu è arrugginito però. Probabilmente c'è un modo migliore.