Galera estou com dificuldades de implementar meu codigo com o arrayList…
A situacao é a seguinte:
Criei um arrayList, fiz um while para pegar o resultset do banco, depois fiz um for para pegar o resultado do result e jogar no meu array para mostrar na tela, veja como esta o meu código
ResultSetrsEstado=estadoService.selectEstado(estadoVO); ListlistaEstados=newArrayList(); while(rsEstado.next()){estadoVO.setSgEstado(rsEstado.getString(3));}for(inti=0; i < listaEstados.toArray().length ; i++){ listaEstados.add(estadoVO);request.setAttribute("listaEstados",listaEstados); }
ResultSetrsEstado=estadoService.selectEstado(estadoVO);ListlistaEstados=newArrayList();//Aqui vc declara...while(rsEstado.next()){estadoVO.setSgEstado(rsEstado.getString(3));}//Aqui vc ate então não atribuiu nem adicionou nenhum valor..for(inti=0;i<listaEstados.toArray().length;i++){listaEstados.add(estadoVO);request.setAttribute("listaEstados",listaEstados);}
Esse while não está fechando antes da hora não ??Ou pelo menos falta adicionar alguma coisa dentro ele.
diogoprosoft
Bom eu fiz um teste usando somente o while para me retornar a lista de estados
só que me retorna 27 linhas porém imprime 27 TO = tocantins
então pensei em usar o for para percorrer meu array mais não estou conseguindo
o que esta faltando?
onde posso setar os valores que vc falou?
wbdsjunior
diogoprosoft!
você criou apenas um objeto estadoVO, está mudando apenas o atributo SgEstado a acada passada pelo loop e adicionando o mesmo objeto varias vezes na lista…
crie um novo objeto a cada passada pelo while e adicione-o no ArrayList…
depois você pode percorrê-lo como quiser…
ViniGodoy
Faltou dar o comando para adicionar na sua lista!
ListlistaEstados=newArrayList(); ResultSetrsEstado=estadoService.selectEstado(estadoVO);while(rsEstado.next()){//ÉnecessáriocriarVOsdiferentes!//SenãovcvaiadicionaromesmováriasvezesnalistaestadoVO=newEstadoVO();estadoVO.setSgEstado(rsEstado.getString(3));listaEstados.add(estadoVO); //Precisa adicionar na lista!
}request.setAttribute("listaEstados",listaEstados);
Você está usando Java 4? No 5, ou superior, é melhor especificar o tipo do conteúdo da lista:
List<EstadoVo> listaEstados = new ArrayList<EstadoVo>(); ResultSetrsEstado=estadoService.selectEstado(estadoVO);while(rsEstado.next()){//ÉnecessáriocriarVOsdiferentes!//SenãovcvaiadicionaromesmováriasvezesnalistaestadoVO=newEstadoVO();estadoVO.setSgEstado(rsEstado.getString(3));listaEstados.add(estadoVO); //Precisa adicionar na lista!
}request.setAttribute("listaEstados",listaEstados);