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”/>
<tr>
<td align="center">1/08/2005 <input type="hidden" name="data"
value=“1/08/2005”/>
<tr>
<td align="center">13/08/2005 <input type="hidden" name
=“data” value=“13/08/2005”/>
<tr>
<td align="center">13/08/2005 <input type="hidden" name
=“data” value=“13/08/2005”/>
<tr>
<td align="center">05/08/2005 <input type="hidden" name
=“data” value=“05/08/2005”/>
<tr>
<td align="center">15/08/2005 <input type="hidden" name
=“data” value=“15/08/2005”/>
<tr>
<td align="center">15/08/2005 <input type="hidden" name
=“data” value=“15/08/2005”/>
<tr>
<td align="center">10/08/2005 <input type="hidden" name
=“data” value=“10/08/2005”/>
<tr>
<td align="center">05/08/2005 <input type="hidden" name
=“data” value=“05/08/2005”/>
<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?