2019独角兽企业重金招聘Python工程师标准>>>
在JSP页面上的各种操作都需要用到EL表达式
c引自于http://java.sun.com/jsp/jstl/core,
例如 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
引入以后就可以使用c标签。类似的标签库有以下5种
Core | http://java.sun.com/jsp/jstl/core | c | ||
XML processing | http://java.sun.com/jsp/jstl/xml | x | ||
I18N formatting | http://java.sun.com/jsp/jstl/fmt | fmt | ||
Database access | http://java.sun.com/jsp/jstl/sql | sql | ||
Functions | http://java.sun.com/jsp/jstl/functions | fn |
而c标签库中的标签有14个,大致可分为4类
多用途核心标签:<c:out>、<c:set>、<c:remove>、<c:catch>。
条件控制标签:<c:if>、<c:choose>、<c:when>、<c:otherwise>。
循环控制标签:<c:forEach>、<c:forTokens>。
URL相关标签:<c:import>、<c:url>、<c:redirect>、<c:param>。
1.取变量:
${myTask }
2.不为空才显示:
<c:if test="${not empty myTaskList }">
</c:if>
3.判断,对比(c:if)
<!--当变量=0时,显示该if里的内容 -->
<c:if test="${myTaskList == '0' }">
</c:if>
4.循环显示(c:forEach)
<!--myTaskList是传递的变量,myTaskItem是循环出来的每个变量起的别名,s为变量的下坐标 -->
<c:forEach items="${myTask }" var="myTaskItem" varStatus="s">
</c:forEach>
5.<c:choose>、<c:when>和<c:otherwise>相当于if-else
<c:choose>
<c:when test="${empty myTask}">
<p>默认数据 </p>
</c:when>
<c:when test="${myTask=='done'}">
<p>恭喜您完成任务 </p>
</c:when>
<c:otherwise>
<p>请联系管理员 </p>
</c:otherwise>
</c:choose>
以上代码等价于
if(myTaks == null){
<p>默认数据 </p>
}else if(myTaks == "done"){
p>恭喜您完成任务 </p>
}else{
<p>请联系管理员 </p>
}
总结,c:choose相当于一个容器,c:when相当于if,c:otherwise相当于else
2个不错的jstl网站
http://www.ibm.com/developerworks/cn/java/j-jstl0211/
http://www.javawind.net/help/html/jstl_el.htm