Adriano,
Os exemplos que voce usou - <c:out value="${pessoas.rows.size}"/> <c:out
value="${pessoas.rows.count}"/> - nao compilam porque a interface Map eh um
exemplo da falta de padronizacao. Ao inves de utilizar o padrao JavaBean
para propriedades - getSize() -, o metodo foi declarado como size(),
impedindo que seja chamado usando somente JSTL.
No entanto, a tag c:forEach possui um atributo chamado varStatus, que
declara uma variavel do tipo javax.servlet.jsp.jstl.core.LoopTagStatus, que
possui as propriedades index, count, first, last, begin, end e step.
Para pegar o total, basta fazer algo como:
<c:forEach var="row" items="${pessoas.rows}" varStatus="status" >
<c:out value="${row.ID}"/> <c:out value="${row.NOME}"/>
<c:if test="${status.last}">
Total: <c:out value="${status.count}" />
</c:if>
</c:forEach>
Espero ter ajudado.
[]s,
Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Sun Certified Programmer for the Java 2 Platform 1.4
Moderador SouJava - www.soujava.org.br
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Subject: [enterprise-list] JSTL : n�mero de ocorr�ncias de uma cole��o
Senhores,
n�o estou vendo emails sobre JSTL na lista, provavelmente puca gente est�
utilizando.
Eu estou utilizando em um projeto relativamente pequeno e estou gostando
muito.
Segue uma quest�o. Quando fa�o uma query utilizando JSTL, defino uma cole��o
como no c�digo abaixo:
<sql:transaction dataSource="jdbc/BD">
<sql:query var="pessoas">
SELECT ID, NOME FROM PESSOA
</sql:query>
</sql:transaction>
<c:forEach var="row" items="${pessoas.rows}">
<c:out value="${row.ID}"/> <c:out value="${row.NOME}"/>
</c:forEach>
Esta vari�vel pessoas.rows � uma cole��o do tipo
[Ljava.util.SortedMap;@a8bfa que armazena o resultado do Resultset.
Como fa�o para pegar o n�mero de ocorr�ncias desta cole��o utilizando a
linguagemm de express�o JSTL?
j� tentei <c:out value="${pessoas.rows.size}"/> <c:out
value="${pessoas.rows.count}"/> mas n�o compila a JSP
Agrade�o antecipadamente,
Adriano
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]