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>
代碼:
<c:choose>
<c:when test="${sessionScope.USERTYPE == 'inner'}">
<c:set value="${context_root}/igmgr/MEB004.dow" var="action" scope="page"/>
</c:when>
<c:when test="${sessionScope.USERTYPE == 'merc'}">
<c:set value="${context_root}/igmgr/MEB021.dow" var="action" scope="page"/>
</c:when>
<c:otherwise>
<c:set value="${context_root}/igmgr/MEB020.dow" var="action" scope="page"/>
</c:otherwise>
</c:choose>
-------------------------------------------------------------------------
附:詳解+代碼
在同一個 <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>成立。
posted on 2010-08-03 21:06 草原上的駱駝 閱讀(3180) 評論(0) 編輯 收藏 所屬分類: JAVA基礎知識