Uso do chekbox

2 respostas
A

E ai pessoal, traquilo?

Vou te perguntar sobre uma dúvida que tenho

eu montei uma lista em que marco alguns itens para excluir veja codigo
abaixo:

Lancamentos CAP

<table border="1">
       <th bgcolor="lightgreen">Data</th> 
       <th bgcolor="lightgreen">Descricao</th>
       <th bgcolor="lightgreen" align="right">Valor</th>
     <th bgcolor="lightgreen">X</th> 

 <tr>
       <td align="center">20/08/2005   <input type="hidden" name

=“data” value=“20/08/2005”/>

Dentista
R$ 72,00

<tr>
       <td align="center">1/08/2005   <input type="hidden" name="data"

value=“1/08/2005”/>

hh
R$ 6,00

<tr>
       <td align="center">13/08/2005   <input type="hidden" name

=“data” value=“13/08/2005”/>

gg
R$ 99,00

<tr>
       <td align="center">13/08/2005   <input type="hidden" name

=“data” value=“13/08/2005”/>

hhh
R$ 8,00

<tr>
       <td align="center">05/08/2005   <input type="hidden" name

=“data” value=“05/08/2005”/>

CTIS
-R$ 2.300,00

<tr>
       <td align="center">15/08/2005   <input type="hidden" name

=“data” value=“15/08/2005”/>

La
R$ 3.200,00

<tr>
       <td align="center">15/08/2005   <input type="hidden" name

=“data” value=“15/08/2005”/>

ggg
R$ 34,00

<tr>
       <td align="center">10/08/2005   <input type="hidden" name

=“data” value=“10/08/2005”/>

rrr
R$ 2,00

<tr>
       <td align="center">05/08/2005   <input type="hidden" name

=“data” value=“05/08/2005”/>

pppp
R$ 33,00

<table>
 <input type="submit" value="Novo Lancamento" onclick="Acao('Novo')"/> 
 <input type="submit" value="Excluir" onclick="Acao('Exclui')"/>

Esse código foi montado usando JSP, esse JSP chama uma servet com o
seguinte código abaixo:

import java.io.*;

import javax.servlet.;
import javax.servlet.http.
;

public class ExcLancamento extends HttpServlet {

/**
  *
  */ 
 private static final long serialVersionUID = 1L;

 protected void service(HttpServletRequest req,HttpServletResponse
res) throws ServletException,IOException{

String[] data      = req.getParameterValues(data);

String[] descricao = req.getParameterValues(descricao);

String[] valor     = req.getParameterValues(valor);

String[] checkado  = req.getParameterValues(marca);
PrintWriter w = res.getWriter();

                         w.println("<html>");
                         for(int i=0;i< descricao.length;i++){
                                   w.println(checkado[i]);
                                     w.println(descricao[i]);
                         }

                         w.println("</html>");

 }

}

Tá vendo a variável checkado? Então esse elemento pega os dados da JSP e
gera um array dos elementos setados “on” da página. Então se eu setei 7 , o
meu array de checkado são 7 . No entanto o numero de elementos da descricao
fica sempre fixo ao numero de elementos existentes na página.

O Looping do código servlet faz uma varredura do tamanho de elementos da
descrição, e se o numero de elementos checkados na página for menor estoura
o array de checkados. Veja o resultado abaixo.

java.lang.ArrayIndexOutOfBoundsException: 3

br.com.cap2.servlet.ExcLancamento.service (ExcLancamento.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

Como resolver isso?

2 Respostas

afamorim

O que acontece é que ele so irá trazer os checks que foram selecionados pelo usuario, e não true or false.

entao seu arry fica com tamanho variavel sendo o maximo 7.

o que vc pdeoria fazer para resolver é nlao colocar o valor do cheks como o memso e sim um codigo, por exemplo variando de 1 a 7 e o nome dos hidens seria o codigo underline o nome, tipo: name=“1_descricao”

e vc faria

String[] checkado = req.getParameterValues("marca"); 
for (int i = 0; i < cehckado.length; i++){
 String descricao = req.getParameter(cehckado[i] + "_descricao");
}

pronto vc ta com todas as descricoes que foram selecionadas!!

se tiverem mais sugestões coloquem porque é sempre bom pdoer variar o codigo…

:mrgreen:

oliveirarenan

Almir,

Bem, na verdade não esta muito claro qual é realmente a sua dúvida…

Mas veja, se o erro for esse:

java.lang.ArrayIndexOutOfBoundsException

É pq estourou o tamanho do vetor…eu sugiro q vc reveja se o vetor esta ultrapassando a posição limite dele…

Ou coloque qual é a sua dúvida…esta um tanto qto confusa… :lol: :lol: :lol:

Nos vemos na Conexão Java…

Abraços,

:lol: :idea: :lol: :idea: :lol:

:roll: :roll: :roll:

Criado 11 de agosto de 2005
Ultima resposta 11 de ago. de 2005
Respostas 2
Participantes 3