Html:checkbox

11 respostas
lorena.dourado

Olá amigos,

Estou tentando fazer uma lista utilizando html:checkbox para pegr o id dos itens a serem excluídos. Porém não estou conseguindo enxergar como ele vai pegar esse valor vindo do meu bean.
Aqui está o iterate em que listo cada usuário:

<logic:iterate id="usuario"  name="loginBean">
	<tr>
		<td>
			<html:checkbox name="usuario" property="codigoUsuario" value="1"></html:checkbox>
			<bean:write name="usuario" property="usuario"/>
		</td>
	</tr>
</logic:iterate>

Qndo coloco value=“1”, ele exclui o primeiro registro bunitinho…
Mas preciso que ele pegue todos os id’s de minha tabela e associe a checkbox, pois não posso colocar isso manualmente.

Se alguém puder ajudar, agradeço desde já!

Abraço para todos,

:wink:

11 Respostas

cristianomariano

Tudo bem Lorena?
O correto quando você usa vários checkbox é utilizar um atributo no seu bean do tipo array. Você cria um String[], por exemplo. Ao enviar o form, esse array terá o length igual ao número de checkbox marcados.

Luiz_Gustavo

Olá Lorena,

posso fazer uma pergunta tosca?
Tá usando o que para fazer isso… que tecnologias?

[]'s

Luiz_Gustavo

Aqui com JSF faço o seguinte:

...

<t:dataTable id="grdClientes" var="client" value="#{clienteFace.clientes}" styleClass="grid" rowClasses="grid1,grid2" rows="#{clienteFace.paginacao}" rowIndexVar="rowIndex" binding="#{clienteFace.grdClientes}">
  <t:column width="30">
	<f:facet name="header">
		<h:outputText value="#{msg.lblColumnSelecao}"/>
	</f:facet>
	<h:selectBooleanCheckbox value="#{client.marked}" id="cliCheck">
 ...

marked é uma propriedade booleana no value object client, e ao selecioná-lo no grid automaticamente essa propriedade é marcada como true… depois, no backbean eu itero sobre a coleção para obter os itens com essa propriedade marcadas como true;

Espero que ajude!

[]'s

lorena.dourado

Olá Cristiano,

Uso o array pra pegar os id’s em meu action assim:

String[] codigoUsuario = request.getParameterValues("codigoUsuario");

Na verdade estava usando JSTL pra fazer essa checkbox, mas o Eclipse não tá querendo reconhecer no atributo value="${usuarios.idLogin}", pois dessa forma funciona, em outra aplicação que eu fiz…

<c:forEach items="${loginBean}" var="usuarios">
				<tr>
					<td>
						<input type="checkbox" name="codigoUsuario" value="${usuarios.idLogin}">
						<c:out value="${usuarios.usuario}"/>
					</td>		
				</tr>
</c:forEach>

Mas não saquei bem a sua solução, se puder explicá-la melhor, de preferência com um exemplinho! :smiley:

Luiz, estou usando Struts, somente… além do basicão…rs

Abraço,

:wink:

lorena.dourado

Amigos?

marciobarroso

Você precisa cadastrar seu form bean com o atributo que receberá os itens do checkbox como [] String.

Tipo no seu formbean, se tiver a implementação da classe, você terá um atributo :

private String [] usuarios;

// ou se for descrito no struts-config.xml

&lt;form-property name="usuarios" type="java.lang.String[]"/&gt;

Desta forma, qdo vc submeter sua action, o atributo do form estará preenchido com todos os check selecionados.

Agora, se vc vai precisar do contrário também, tipo, sair de uma action e ir para o jsp com determinados checks já preenchidos, vc terá que utilizar o MultiBox, que é uma taglib do struts também.

[]'s :wink:

A

Lorena,

Segue um exemplo, espero que fique claro, se nao, é so perguntar de novo

<c:forEach var="lista" items="${listaEstados}">
<option value="${lista.idEstado}">${lista.estado}</option>
</c:forEach>

Sendo que o var é preenchido com meu array e o items é o meu objeto que eu criei do array, ai eu passo dentro do value o id e o estado, todo eles estao armazenados no meu bean. So que eu fiz um for para armazenar todos os valores na “lista”. A logica é a mesma para o seu check. Qq coisa, posta ai, se nao entender.

Abs

lorena.dourado

Já estava fazendo assim, mas meu Eclipse pirou e não quer reconhecer as JSTL desse projeto…

Mas, valew…

marsola2k:
Lorena,

Segue um exemplo, espero que fique claro, se nao, é so perguntar de novo

<c:forEach var="lista" items="${listaEstados}">
<option value="${lista.idEstado}">${lista.estado}</option>
</c:forEach>

Sendo que o var é preenchido com meu array e o items é o meu objeto que eu criei do array, ai eu passo dentro do value o id e o estado, todo eles estao armazenados no meu bean. So que eu fiz um for para armazenar todos os valores na “lista”. A logica é a mesma para o seu check. Qq coisa, posta ai, se nao entender.

Abs

A

Verifica a configuração do seu web.xml, se ele esta apontando as jstl no local correto.

lorena.dourado

Tá sim… tá tudo ok…
Tenho outro projeto dentro do mesmo Eclipse, e nele tá funcionando direitinho…

A

Oi pessoal eu não sei bem como me espressar pois sou muito imaturo neste tema mas é o seguinte
o que eu queria fazer era algodo género

"Nome:
Idade:
Email:

terminar inscrição"

e queria meer aquels * a dizer que e de preenchimento obrigatorio e quando as pessoas nos resctangulas do “nome*” “idade” e mail acabassem de preencher clicassem num submit (terminar inscrição) e os dados dessa pessoa fossem para o meu email…Já me falaram em opções de um certo wensite grátis que hexiste na net mas nao me souberam dizer como fazer e também já me falaram em Widgets o que eu duvido que haja. MAs alguem sabe como fazer isto que eu mencionei?

Criado 23 de agosto de 2007
Ultima resposta 9 de jul. de 2009
Respostas 11
Participantes 6