引言:
我们知道,jstl标签库中并未实现想struts标签那样的<s:if>...</s:if> ... <s:else>...</s:else> 程序流程控制的标签。
但是jstl也有它的一个类似的实现,只不过写起来有点费劲而已,那就它的<c:choose>标签。下面介绍它的用法。
用法:
<c:choose>
<c:when test=" 判断条件 ">
do something...
</c:when>
<c:otherwise>
do something...
</c:otherwise>
</c:choose>
举例:
需求:假设在某个页面(test.jsp)中,要求如果用户已经登录,就隐藏登录面板;如果用户未登录,就显示用户登录面板。
条件:用户登录成功后用户bean(设为user)存入了session域中,关键字也为user。
实现:
在test.jsp中我们引入jstl标签库,并使用c:choose来实现以上的需求。
<%-- 在test.jsp页面顶部,引入标签库 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
...
<c:choose>
<c:when test=" ${sessionScope.user != null} ">
显示登录面板...
</c:when>
<c:otherwise>
隐藏登录面板...
</c:otherwise>
</c:choose>