<c:> 核心标签库
==========================================================================
JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect
注意:在jsp中通过<% %>java代码形式嵌入的变量。要使得jstl中的变量能访问此变量,可以通过2种方式。
①request.setAttribute("变量名",“变量值”);通过这种方式可直接应用 ${变量名}。
②以形式<%=变量名%>使用变量。
1.表达式控制标签
<c:set var="temp" value="hello"></c:set> //设置变量的值
<c:out value="${temp}"></c:out> //引用变量的值
<c:remove var="temp"></c:remove> //移除遍历的值,相当于删除了这个变量
<c:out value="${temp}"></c:out> //打印不出值,因为此变量已被删除
2.流程控制标签
<c:if test="${3<1 }">
good!
</c:if>
<c:set var="x">50</c:set>
<c:choose>
<c:when test="${x>90}">
您的成绩为优秀
</c:when>
<c:when test="${x>70 }">
您的成绩为良好
</c:when>
<c:when test="${x>60 }">
您的成绩及格
</c:when>
<c:otherwise>
您未通过考试
</c:otherwise>
</c:choose>
3.循环标签:forEach、forTokens
<c:forEach> 标签的 属性说明 :
<c:forEach> 标签的 属性 : varStatus属性: 它的提供另外四个属性:index,count,fist和last,它们个自的意义如下:
属性 类型 意义
index number 现在指到成员的索引
count number 总共指到成员的总和
first boolean 现在指到成员是否为第一个
last boolean 现在指到成员是否为最后一个
基本用法
<c:forEach begin="1" end="10" step="2" var="i">
${i}
</c:forEach>
(1).遍历array
String[] fruit={"apple","pear","banana","watermelon","orange"};
<c:forEach items="${fruit}" var="item">
<c:out value="${item }"></c:out>
</c:forEach>
(2)遍历List (形式与遍历array类似)
<c:forEach items="<%=list %>" var="item">
${item }
</c:forEach>
(3)遍历map
<c:forEach items="${row }" var="item">
<c:out value="${item.key }"></c:out> //map键
<c:out value="${item.value }"></c:out> //map值
</c:forEach>
对于map对象,可直接通过key访问值,例如
<c:out value="${row.name }"></c:out>
(4)forTokens使用
<c:forTokens items="love1,love2,love3" delims="," var="item">
<c:out value="${item }"></c:out>
</c:forTokens>