2012-03-21 2 views
0

표시 태그 표 내에서 특정 조건을 확인하고 특정 열을 표시하거나 표시하지 않겠습니까?c 표시 태그 표가있는 태그 선택

<display:table class="displayTable" id="ItemList" 
    name="${sessionScope.myList}" requestURI="list.action" 
    pagesize="15" defaultsort="2" defaultorder="ascending" sort="list"> 
    <c:choose> 
     <c:when test="${(loginUserOrgId > 0) and (loginUserOrgId==ItemList.organisationid)}"> 
      <display:column class="colOp" href="edit.action" paramId="itemId" 
       paramProperty="itemId">Edit</display:column> 
     </c:when> 
    </c:choose> 
</display:table> 

그러나 편집 링크는 표시되지 않습니다. c:out으로 값을 출력하면 TRUE가됩니다. 조건이 참이지만 편집 열은 표시되지 않습니다.

<c:out value='${(loginUserOrgId > 0) and (loginUserOrgId==ItemList.organisationid)}'/> 

누락 된 부분이 있습니까?

답변

1
<c:out value='${(loginUserOrgId > 0) and (loginUserOrgId==ItemList.organisationid)}'/> 

TRUE입니다.

하지만 이것을 사용하면 사실이 인쇄됩니까?

<c:if test='${loginUserOrgId > 0 && loginUserOrgId==ItemList.organisationid}'/> 
    true 
</c:if> 

항상 또한 단 하나의 if-checkingJSTL

조건부 및 확인을위한 && 연산자를 사용합니다. else 조건이 없습니다. 왜 이런 식으로 간단 <c:if> 태그를 사용하지 :

<display:table class="displayTable" id="ItemList" 
    name="${sessionScope.myList}" requestURI="list.action" 
    pagesize="15" defaultsort="2" defaultorder="ascending" sort="list"> 

    <c:if test="${loginUserOrgId > 0 && loginUserOrgId == ItemList.organisationid}"> 
     <display:column class="colOp" href="edit.action" paramId="itemId" 
      paramProperty="itemId">Edit</display:column> 
    </c:if> 
</display:table> 

사용 <c:choose> 만이 if을 필요로 할 때 --- else if --- else 같은 상태 확인.

<c:choose> 
    <c:when test="${condition}"> 
     true value 
    </c:when> 
    <c:otherwise> 
     false value 
    </c:otherwise> 
</c:choose> 
+0

나는 무슨 일이 일어나고 있는지 모른다. 작동하지는 않지만 하이퍼 링크를 전혀 표시하지 않습니다. 하지만 로 변경하면 실제 조건 행에 대한 편집 하이퍼 링크가 표시됩니다. 그러나 두 번째 조건은 내가 원하는 것이 아닙니다. – kitokid

+0

실제 값이 무엇인지 확인하려면 값을 인쇄 해보십시오. 디버그를 설정하거나 jsp로 객체를 출력하기 위해 단순히''또는'<% out.println(); %>'을 사용하십시오. – tusar