Como posso obter valores de caixa de seleção de caixa de seleção struts2 em displaytag a classe de ação
-
18-09-2019 - |
Pergunta
Eu estou trabalhando em struts2 aplicativo no qual eu estou usando displaytag para suporte a paginação.
Agora eu quero uma caixa de seleção para cada linha na tabela para que eu estou fazendo isso.
<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" />
Até aqui sua multa trabalho. Agora eu quero excluir todos os países que são verificados por meio da caixa de seleção.
para que eu quero os ids dos países que são verificados .para que eu tenho que tomar os valores em uma matriz.
O problema é como eu posso enviar os valores de jsp e obtê-lo na classe de ação
Solução
Se você adicionar uma String [] para sua ação o mesmo nome que o seu caixa (s) e expô-lo via acessores (getters / setters) struts 2 deve auto preenchê-lo.
Outras dicas
Isto é como eu iria fazê-lo.
-
em vez de 'ID' para todas as colunas id, acrescentar um número de sequência de modo a que cada id tem um nome único, tal como 'id1', 'id2' etc
-
criar um interceptor que os valores recolhe de parâmetros prefixados com 'id'
-
configure sua ação para usar o interceptor
Meu fu suporte é, porém enferrujado. Provavelmente há uma maneira melhor.