Loop com busca no BD e exibição em display tag lib [RESOLOVIDO]

Olá, estou com um problema pra exibição de uma consulta realizada no banco em display tag lib.

o problema acontece na hora de realizar o loop, porque da maneira que eu fiz, para toda linha que for buscada será criado um novo “cabeçalho” no display tag lib para aquela linha.

Queria fazer onde só houvesse um cabeçalho e as linhas fossem adicionadas normalmente (uma tabela normal).

já tentei colocar o loop depois de criar a tabela com o display tag mas da erro e a busca nem é realizada (entra no catch). Deve ser algo bem simples mas não consigo enxergar o problema de jeito nenhum. Segue o meu código abaixo:

[code] try{
ListIterator iter = wsList.listIterator();
int id;
while(iter.hasNext()){
Log achei = (Logiter.next();
id = achei.getId();
request.setAttribute( “achei”, achei );

%>    
<center>  
<display:table name="achei">  
     <display:column property="id" title="Id"/>  
     <display:column property="datacriacao" title="Data" style="width:70%;"/>  
     <display:column property="codigo" title="Cód. Etabelec." style="width:70%;"/>  
</display:table>  
  
<%      }  
   }catch(Exception e){  
      out.print("ERRO");  
      e.printStackTrace();  
   }  [/code]

Se alguém puder me indicar onde estou errando, ficaria muito grato!

Olá,

Tente ao iterar no loop adicionar os id´s do Log num List(que pode se chamar achei como vc colocou) , depois setar como atributo da requisição.
Depois disso (e fora do loop) vc cria a table.

O ideal seria vc nao fazer todo esse processamento via scriptlet (deixar o jsp só pra exibição) mas sim num servlet , adicionar o atributo no request (como vc fez no jsp) e usar um RequestDispatcher p/ mandar p/ jsp.
A apostila da Caelum http://www.caelum.com.br/curso/fj-21-java-web/ explica legal.

Olá, obrigado por responder…

Não tenho certeza se entendi o que vc disse, mas pelo que eu entendi isso é pensando em uma busca por apenas um registro no banco ?

No meu caso, o loop roda a tabela do bd inteira e exibe todas as linhas. Como eu colocaria os ids numa list e faria a reuisão das outras colunas a partir desse id? Me desculpe se é coisa simples, mas eu realmente fiquei confus e não entendi.

desse jeito que ja fiz er mostrei no código até funciona, mas para cada linha exibida ele recoloca o “cabeçalho”, fica algo como:

ID DATA COD ESTABE.
01 11/07 0000989

ID DATA COD ESTABE.
02 13/07 0000971

ID DATA COD ESTABE.
03 16/70 0010341

e assim por diante …

eu queria fazer ficar da seguinte maneira:
ID DATA COD ESTABE.
01 11/07 0000989
02 13/07 0000971
03 16/70 0010341

Consigo fazer isso utilizando a tag table normal do JSP, mas quando tento usar o display tag lib ocorre esse problema =/

Desculpa a parte do id , seria seu objeto Log mesmo.
Pelo que entendi seria assim:

try{    
         ListIterator iter = wsList.listIterator();    
         int id;
         List&lt;Log&gt; listaAchei = new ArrayList&lt;Log&gt;(); //lista q vai conter os Log´s q serão exibidos na table   
         while(iter.hasNext()){    
            Log achei = (Logiter.next();    
            id = achei.getId();// nao entendi sobre esse id aki pois entendo q ele será pego nos objetos q serão exibidos na table
            listaAchei.add(achei);
          }    
            request.setAttribute( &quot;achei&quot;, listaAchei ); //aki vc tem q mandar a lista 
     %&gt;

Agora eu entendi!!!

deu certinho Luiz, vlw mesmo!! já tava tentando faz 3 dias!!