2009-09-08 3 views
2

이 JSTL 코드를 사용하여 HTML 테이블을 생성하고 있습니다. 다른 모든 행에는 다른 클래스가 주어져서 테이블 스트라이프를 줄 수 있습니다. 우리가 CSS3로 쉽게이 작업을 수행 할 수 있다는 것을 알고 있지만 이전 브라우저를 지원해야합니다.JSTL을 사용하여 테이블 만들기

어쨌든이 코드는 제가 사용하는 코드입니다 - 매우 무겁습니다 - 더 쉬운 방법이 있습니까?

<c:set var="oddEven" value="true" /> 
<c:forEach var="row" items="${rows}"> 
    <c:choose> 
     <c:when test="${oddEven}"> 
     <tr> 
     </c:when> 

     <c:otherwise> 
     <tr class="odd"> 
     </c:otherwise> 
    </c:choose> 
      <td>${row.value1}</td> 
      <td>${row.value2}</td> 
     </tr> 
    <c:set var="oddEven" value="${!oddEven}" /> 
</c:forEach> 

답변

3

이 트릭해야한다 :이 예에서는 status.count 사용

<c:forEach var="row" items="${rows}" varStatus="status"> 
    <tr 
     <c:if test="${status.count % 2 ne 0}"> 
     class="odd" 
     </c:if> 
    > 
     <td>...</td> 
    </tr> 
</c:forEach> 

을; count은 루프가 실행 된 횟수를 1부터 시작하여 카운트합니다. 카운팅을 0에서 시작하려면 status.index을 사용하십시오.

0

나는 JSP 전문가 아니지만, 당신이 할 수있는 사용자 정의 JSP 태그을 쓸 수있을 수 있습니다?

1

시도

<tr class="${(status.index % 2) == 0 ? 'oddRow' : 'evenRow'}"> 
관련 문제