Dúvida para quebrar linha de tabela usando JSTL

1 resposta
ruyoutor

Fala galera!

A minha dúvida é a seguinte:
Estou abastecer uma tábela html com vários checkbox dinâmicamente desta forma:

<c:forEach var="bean" items="${lstTipo}">
           <tr>                                                                        
               <td width="169">
                   <input name="name" type="checkbox" value="${bean.cdTipo}" class="borda_simples" id="id" 
                      onClick="enabledText (this,'${bean.tipo}')" />
               </td>
           </tr>                                                                      
       </c:forEach>

Sendo que, desta forma eu vou ter um check para cada linha eu queria ter a opção de colocar por exemplo dois por linha, ai quando chegasse a dois ele descia para a próxima linha. Acho que eu teria que fazer um teste no loop para saber se o número de passagem é multiplo de dois e se for eu pulo para outra linha. Com scriplet eu consigo fazer isso tranquilo, mas não queria usar scriplet na página acho que tem como fazer com jstl só que eu não sei como descobrir o número de vezes que o loop foi executado e testar isso em um <c:if test=""></c:if> por exemplo. Se alguem tiver um exemplo ai que possa postar eu agradeço.

1 Resposta

ruyoutor

Fala galera.

Me esforcei um pouco mais e consegui fazer vou postar aki a solução

<table>
<c:forEach var="bean" items="${lstTipo}">   
    <c:set var="i" value="${i+1}"/>
    <c:if test="${(i-1) % 2 == 0}">
         <tr>
    </c:if>
                                                                        
    <td width="169">   
        <input name="name" type="checkbox" value="${bean.cdTipo}" class="borda_simples" id="id"   
           onClick="enabledText (this,'${bean.tipo}')" />   
    </td>   
    <c:if test="${i % 2 == 0}">
        </tr>
    </c:if>                                                                     
</c:forEach>
</table>

Para o que eu queria assim funcionou e se eu quiser colocar mais de dois checks por linha é só substituir o 2 por outro número.

Criado 15 de fevereiro de 2008
Ultima resposta 15 de fev. de 2008
Respostas 1
Participantes 1