JSTL - foreach

2 respostas
B

Pessoal, estou usando as tags JSTL…
foi difícil fazer funcionar no tomcat, mas dps de mta luta e tutoriais eu consegui rs…

agora estou esbarrando em algo que parece simples, mas não consigo dar jeito
usei o foreach conforme abaixo para listar clientes, e usei o parametro varStatus para retornar o número de iterações do foreach

<c:forEach var="cli" items="${dao.lista}" varStatus="id"> <tr> <td>${cli.codigo}</td> <td>${cli.nome}</td> </tr> </c:forEach>

Mas não consigo exibir o status desta variável:

<p>O total de clientes é: </p> ${id.count}

Já tentei:

<p>O total de clientes é: </p> <c:out value="${id.count}" />

O pior é que em todo lugar que leio, vejo que seria dessa forma que tentei, mas nunca funciona.
Espero que aqui no GUJ consiga resolver isso =]

abraços

2 Respostas

Leo_Inoue

Creio que o problema seja de escopo, ou seja, o varStatus só teria validade dentro do foreach…

Solução:

<c:forEach var="cli" items="${dao.lista}" varStatus="id">   
        <tr>   
            <td>${cli.codigo}</td>   
            <td>${cli.nome}</td>   
        </tr>   
        <c:set var="total" value="${id.count}" />
</c:forEach>  

<p>O total de clientes é: </p> ${total}  
<br>
<p>O total de clientes é: </p> <c:out value="${total}" />

Espero ter ajudado…

[]s

B

Exato Leo,
deu certo…
esse detalhe do escopo era o ponto,
não havia pensado nisso antes pois pra mim não faz mto sentido estar dentro do for, pois na minha visão, o processamento aumento, já que o valor da varStatus é alterada toda vez q entra no for

mas se é assim, tudo bem =]
brigadão

Criado 31 de março de 2009
Ultima resposta 31 de mar. de 2009
Respostas 2
Participantes 2