jstl条件不起作用

Fab*_*bio 3 java jsp jstl el

我无法理解这是怎么可能的,所以我只会展示代码.

这有效.正如所料,打印了"PAIR"列表:

<c:forEach var="element" items="${list}">
<c:choose>
    <c:when test="true">
       <div>PAIR ${element}</div>
    </c:when>
    <c:otherwise>
       <div>ODD ${element}</div>
    </c:otherwise>
</c:choose>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

这不起作用.仅打印"ODD":

<c:forEach var="element" items="${list}">
<c:choose>
    <c:when test="true == true">
       <div>PAIR ${element}</div>
    </c:when>
    <c:otherwise>
       <div>ODD ${element}</div>
    </c:otherwise>
</c:choose>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

Boz*_*zho 6

你错过了EL文字:${..}.使用test="${true == true}"它会起作用.

第一个例子是有效的,因为true当转换为boolean时,字符串是true.解析器尝试将传递的字符串值转换为boolean using Boolean.valueOf(..).并true == true使用Boolean.valueOf(..)给你的字符串转换false.