Iterator X checkbox (struts 2.0) [RESOLVIDO]

9 respostas
P

Olá pessoal!

Estou iniciando no struts e estou com uma dúvida:

Eu tenho um iterator onde “contatos” é uma lista de usuários que tem email e nome:

<s:iterator value=“contatos” id=“c”>



<s:checkbox checked=“checked” name=“teste” />
</td>
			<td>
				<s:text name="contact">
					<s:property value="%{#c.name}" />
				</s:text>
			</td>
			<td>
				<s:text name="contact">
					<s:property value="%{#c.email}" />
				</s:text>
			</td>
		</tr>
	</s:iterator>

Porém, preciso pegar os emails que o usuário selecionar no checkbox para colocar em uma nova lista…

Alguém pode me ajudar??

9 Respostas

jyoshiriro

Olá,

amigo, não entendi bem qual sua intenção… Poderia detalhar melhor?

P

Olá jyoshiriro!

Eu preciso fazer uma action que pegue o valor do checkbox que o usuário selecionar e colocar numa lista…

No <s:iterator value=“contacts” id=“contact”>,

o “contacts” é uma Lista de usuários que está na minha action:

Listcontacts = new ArrayList<Usuários>();

e “Usuarios” é o meu bean que tem os atributos e-mail e nome…

Aí, eu usei o iterator para mostrar na minha jsp os nomes e e-mails e coloquei um checkbox para casa um.

Agora, eu quero pegar os checkboxes que forem selecionados pelo usuário, e colocar o e-mail em uma Lista…

OBS: sou do sexo feminino (raro né?..rss)

tfc1304

Experimenta fazer o seguinte em sua action:

1 - Declare um array de inteiro; Ex: private Integer[] teste;

2 - E no método que irá receber os valores selecionados faça um loop.

public String recebeTeste(){

for (int i = 0; i < teste.length; i++) {

System.out.println(teste[i]);

}

return SUCCESS;

}

Na sua JSP:

vlw

P

Ok, vou tentar agora!

Muito obrigada, por enquanto…

P

tfc1304,

Apareceu null…

tfc1304

Você criou os métodos get e set do array teste em sua action?

P

Criei sim… mas não usei…rs

P

Pessoal, consegui resolver o problema!

É só colocar o atributo status no iterator para conseguir acessar o índice do ArrayList que eu preciso criar, e no checkbox o atributo name com o nome desse ArrayList que tenho que declarar na minha Action (no caso do exemplo abaixo, com o nome teste - teste[%{#status.index}]), e colocar também o fieldValue="%{#c.email}". Para os checkboxes que forem selecionados, o ArrayList armazena como valor o e-mail, e para os que não forem selecionados, retorna uma String com o valor “false”.

Segue o exemplo:

<s:iterator value=“contatos” id=“c” status=“status” >

Obrigada pela ajuda de todos…
Pat :->

igoorgalvao

Sei que o tópico ta fechado mais achei uma forma de pegar o id do checkbox dentro de um iterator:

segue o código:

Classe JSP:
<s:iterator value="lista">
             <s:checkbox name="checkBoxSelecionados" id="lista.id" fieldValue="%{id}"/>
</s:iterator>

Class Java:

public class ClasseLista{
	private Integer[]	checkBoxSelecionados;

}

Qualquer duvida me manda mensagem que eu ajudo!

Criado 8 de outubro de 2009
Ultima resposta 14 de mai. de 2010
Respostas 9
Participantes 4