焉知愚之乐
saojipo.com

JSTL 的 if else : 有 c:if 没有 else 的处理

jstl的c:if 没有else
想要实现if…else…:

 

 

可以用下面的解决

 

——————————————————————–

 

结构:

<c:choose>

<c:when test=””>    如果
</c:when>

<c:otherwise>  否则
</c:otherwise>

</c:choose>

 

 

代码:

 

 

&lt;c:choose&gt;

 &lt;c:when test="${sessionScope.USERTYPE == 'inner'}"&gt;

 &lt;c:set value="${context_root}/igmgr/MEB004.dow" var="action" scope="page"/&gt;

 &lt;/c:when&gt;

 &lt;c:when test="${sessionScope.USERTYPE == 'merc'}"&gt;

 &lt;c:set value="${context_root}/igmgr/MEB021.dow" var="action" scope="page"/&gt;

 &lt;/c:when&gt;

 &lt;c:otherwise&gt;

 &lt;c:set value="${context_root}/igmgr/MEB020.dow" var="action" scope="page"/&gt;

&lt;/c:otherwise&gt;

 &lt;/c:choose&gt;

————————————————————————-

 

 

附:详解+代码

 

 

在同一个 <c:choose> 中,当所有 <c:when> 的条件都没有成立时,则执行 <c:otherwise> 的本体内容。

语法

<c:otherwise>

本体内容

</c:otherwise>

属性

限制

·<c:otherwise> 必须在 <c:choose> 和 </c:choose>之间

·在同一个 <c:choose> 中时,<c:otherwise> 必须为最后一个标签

说明

在同一个 <c:choose> 中,假若所有 <c:when> 的test属性都不为true时,则执行 <c:otherwise> 的本体内容。

范例

笔者举一个典型的 <c:choose>、<c:when>和<c:otherwise>范例:

<c:choose>

<c:when test=”${condition1}”>

condition1为true

</c:when>

<c:when test=”${ condition2}”>

condition2为true

</c:when>

<c:otherwise>

condition1和condition2都为false

</c:otherwise>

</c:choose>

范例说明:当condition1为true时,会显示“condition1为true”;当condition1为false且condition2为true时,会显示“condition2为true”,如果两者都为false,则会显示“condition1和condition2都为false”。

注意

假若condition1和condition2两者都为true时,此时只会显示”condition1为true”,这是因为在同一个<c:choose>下,当有好几个<c:when>都符合条件时,只能有一个<c:when>成立。

赞(0)

评论 抢沙发

评论前必须登录!