0

ねえ、jstl 変数が set と out で空かどうかをチェックしたい。

セットを使用して変数を作成しました:

<c:set var="prevValue" value="" />

out メソッドを使用して jstl 変数が空かどうかを確認するために、次のことを行いました。

<c:when test="<c:out value='${empty prevValue}' />" />
empty
</c:when>
<c:otherwise>
not empty
</c:otherwise>

しかし、私は空ではありません。これはなぜですか??prevValue を空の文字列に設定したので、技術的にはこれで正しいでしょうか?

4

2 に答える 2

2

このコードは、ブール値を期待するタグのtest属性に文字列リテラルを配置します。c:whenprevValue が空であることのみをチェックするようにテスト式を単純化します。コードは<c:out ...テストにセグメントを含めるべきではありません。使用する:

<c:when test="${empty prevValue}" />

また、引き続き使用<c:when>する場合は、条件をラップする必要があります<c:choose>

完全な例:

<c:choose>
    <c:when test="${empty prevValue}" />
        empty
    </c:when>
    <c:otherwise>
        not empty
    </c:otherwise>
</c:choose>
于 2013-09-02T10:22:24.120 に答える