使用jstl核心taglib,我想要使用<c:choose>
检查多个条件。
<c:choose>
<c:when test="${obj1.enabled}">
${obj1.name}
</c:when>
<c:when test="${obj2.enabled}">
${obj2.name}
</c:when>
<c:otherwise>
<spring:message code="error.NoRecordFound"/>
</c:otherwise>
<c:choose>
我将其读作&#34;如果对象1已启用,则打印其名称,否则,如果启用了对象2,则打印其名称,否则打印错误消息&#34;。
但obj1
和obj2
都可以启用,我担心它实际上会表现为&#34;如果对象1已启用,请打印其名称。如果启用了对象2,则打印其名称。如果以前的条件都不成立,则打印错误消息。&#34;
我在网上找到的所有使用多个<c:when>
的例子都提供了相互排斥的条件,例如n < 100
和n > 1000
,或者是一个虚拟字符串代替条件,例如<c:when test="condition 1 here">
和<c:when test="condition 2 here">
。因此,从例子中我不知道它是否是if / else-if / else或者if if / if / if-none-the-above。
答案 0 :(得分:1)
来自<c:choose>
tag documentation(强调我的):
简单条件标记,用于为互斥条件操作建立上下文,标记为
<when>
和<otherwise>