Tenho um jsp de pesquisa, neste jsp eu informo o nome que quero encontrar e clico em busca. O DAO que criei está funcionando corretamente, utilzei a saída do console para verificar se os dados retornados estavam corretos, ele armazena todos os resultados da busca em um ArrayList e retorna este ArrayList para o servlet. No servlet não estou conseguindo enviar para a página de pesquisa todos os nomes listados.
No jsp tenho os seguintes códigos:
<li>
<c:forEach items="${lstDadosDaConsulta}" var="cliente">
${cliente}
</c:forEach>
</li>
E no servlet:
if(itPesquisa.hasNext()){
do{
//Verifico a saída dos dados pelo console
// System.out.println(itPesquisa.next());
request.setAttribute("lstDadosDaConsulta",itPesquisa.next());
request.getRequestDispatcher("frmPesquisa.jsp").forward(request,response);
}while(itPesquisa.hasNext());
}//if
No entanto esse código acima não funciona. Então no lugar do do-while, para testes, eu coloquei somente :
if(itPesquisa.hasNext()){
request.setAttribute("lstDadosDaConsulta",itPesquisa.next());
request.getRequestDispatcher("frmPesquisa.jsp").forward(request,response);
}
Como era de se esperar apresentou somente o primeiro resultado da pesquisa, ou seja, somente o primeiro nome da lista.
Como posso resolver isto ?
Bom depois de pesquisar bastante cheguei a seguinte solução:
No jsp é adicionado seguinte linha
<jsp:useBean id=“ParametroDaJsp” scope=“request” class=“java.util.ArrayList” />
e manter o código jstl da jsp como estava descrito acima.
Vlw espero que isto ajude alguém.