2011-04-01 4 views
0

arraylist에서 가져온 값을 기반으로 열을 표현해야합니다.JSTL 프리젠 테이션 문제 - if 문

<c:forEach items="${row}" var="cell"> 
     <c:if test="${(cell != 'Read') || (cell !='Write')}" > 
      <td id="access">${cell}</td> 
     </c:if> 
     <c:if test="${(cell == 'Read') || (cell =='Write')}" > 
      <td>${cell}</td> 
     </c:if> 

</c:forEach> 

세 가지 유형의 값이 읽기, 쓰기 및 기타로 있습니다. 다른 사람들은! = 조건으로 들어가지만, 읽기와 쓰기의 경우 모두 if 문을 만족시킵니다. 나는 if-else를 사용할 수 없었다. 미리 감사드립니다.

답변

2

여기에 해당하는 경우 - 다른 코드의 선언문 ELSE 같은 코드에서 IF 두 번째 경우.

<c:forEach items="${row}" var="cell"> 
    <c:choose> 
     <c:when test="${cell ne 'Read' or cell ne 'Write'}"> 
      <td id="access">${cell}</td> 
     </c:when> 
     <c:otherwise> 
      <td>${cell}</td> 
     </c:otherwise> 
    </c:choose> 
</c:forEach> 

IF의 조건문을 확인하십시오. voidnnull은 ||를 사용하는 대신 첫 번째 IF에 대해 지적합니다. (또는) & & (및)을 사용하십시오.

0

첫 번째 테스트 조건에서 || 연산자를 사용하고 있기 때문입니다.

& & 연산자를 사용하면 예상대로 작동합니다. <c:if test="${(cell != 'Read') && (cell !='Write')}" >

추가적으로 경우 - 다른 구조를 사용 JSTL를 들어, <c:when><c:otherwise>을 사용할 수있는 아래 <c:choose> 태그를 사용합니다. 그들은 if-else와 비슷한 방식으로 작동합니다.

예 : http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/if.html

관련 문제