c выбрать тег с отображением таблицы тегов - PullRequest
0 голосов
/ 21 марта 2012

Я хочу проверить определенное условие в таблице тегов отображения и показать или не показать конкретный столбец.

<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, это ИСТИНА. но столбец Изменить не отображается, хотя условие истинно.

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

Есть пропущенная точка?

1 Ответ

1 голос
/ 27 марта 2012
<c:out value='${(loginUserOrgId > 0) and (loginUserOrgId==ItemList.organisationid)}'/>

печатает TRUE.

Но печатается ли это правда, когда вы используете этот?

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

Всегда используйте оператор && для условного И проверки JSTL

Также у вас есть только один if-checking. У вас нет условия 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>
...