Galera, eu possuo o seguinte código em minha aplicação onde devo apenas fazer uma listagem. Porem gostaria de fazer uma listagem zebrada ou seja, alternar as cores entre as linhas…
Como faço isto utlizando o código abaixo?
<c:forEach var=“fornecedor” items="${dao.lista}" >
${fornecedor.id}
|
${fornecedor.razaoSocial}
|
Um abraço a todos
Jandiro
Não sei como funciona este forEach, mas imagino que seja semelhante a um for.
Uma solução que geralmente uso é implementar um contador e colorir basedo nele.
Ex:
<%for(in i=0; i<=dao.lista().getSize(); i++){
if((i % 2) == 0){ %>
<td bgcolor="blue">
<%else{%>
<td bgcolor="crazyBlue">
<%}
}%>
Pois é…
Na verdade eu gostaria de utilizar a JSTL para fazer isto:
<c:forEach var=“fornecedor” items="${dao.lista}" >, gostaria de saber se consigo utilizar o for acima obtendo um contador de registros semelhante ao for do Rafael…
Valeu galera
Jandiro
Faz um teste.
Cria uma variável int count fora do seu c:forEach, e dentro dele faz um count++ pra ver se ele tá incrementando, se estiver(o que eu creio que irá) é só fazer o if.
Galera, acabei resolvendo o problema seguindo a mesma linha de raciocio da Daniel, porem existe um atributo da tag <c:forEach/> chamado varStatus que ajudou muito.
Valeu pela força galera…
Segue o código:
<c:forEach var="fornecedor" items="${dao.lista}" varStatus="contador">
<c:if test="${contador.count % 2 == 0}">
<tr bgcolor="blue">
</c:if>
<c:if test="${contador.count % 2 == 1}">
<tr bgcolor="crazyBlue">
</c:if>
<td>
<div align="center">
${fornecedor.id}
</div>
</td>
<td>
${fornecedor.razaoSocial}
</td>
<td>
Jandiro
Desculpe a errata! eu segui a mesma linha de raciocinio do Rafael Nunes e não Daniel…
Valeu pela força Rafael
Jandiro
hehe…relaxa, tava brincado.