【发布时间】:2015-07-17 18:33:35
【问题描述】:
使用 jstl 核心标记库,我有多个条件要使用 <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>
我将其读作“如果启用对象 1,则打印其名称,否则如果启用对象 2,则打印其名称,否则打印错误消息”。
但obj1 和obj2 都可以启用,我担心它实际上会表现为“如果启用了对象 1,则打印其名称。如果启用了对象 2,则打印其名称。如果前面的条件都不成立,则打印错误消息。”
我在网上找到的所有使用多个<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-none-of-the-above。
【问题讨论】:
-
试试看怎么样?
标签: spring-mvc jstl jsp-tags