JSTL的目的是规范并统一JSP动态网页开发中基本任务的标记实现,如进行动态数据的显示判断,数据库记录字段的循环显示等
JSTL按照完成任务的不同,分类为如下标记库和标记符,核心标签库、数据库操作标签库、国际化标签库、XML处理标签库、函数标签库,本文主要学习使用核心标签库,它是最基本也是最重要使用最多的标签。
使用JSTL标签需要如下两个步骤:
1、引入JSTL jar包 jstl.jar以及standard.jar
2、在JSP页面使用taglib指定引入JSTL标记 然后就可以在JSP页面中使用JSTL标签了。
常用标签:
<c:foreach>容器循环遍历标记,其支持如下类型的容器:
List、Set、Map、Iterator、Enumeration、数组
<c:forEach items="${list }" var="user">
${user.username }---${user.age }---${user.sex }<br/>
</c:forEach>
<br/>
<c:forEach items="${map }" var="user">
${user.value.username }---${user.value.age }---${user.value.sex }<br/>
</c:forEach>
<c:forEach items="${set }" var="user">
${user.username }---${user.age }---${user.sex }<br/>
</c:forEach>
<c:forEach items="${users }" var="user">
${user.username }---${user.age }---${user.sex }<br/>
</c:forEach>
<c:out>用于输出scope对象的属性和表达式的值
<c:out value="ELE表达式" escapeXml="true/false" default="value"/>
其中escapeXml属性用于指定是否转义XML
<c:out value="<h1>朱元璋</h1>" escapeXml="true"></c:out>
<c:out value="<h1>朱元璋</h1>" escapeXml="false"></c:out>
对应的输出,
<c:set/>将属性值保存到指定域中
<c:set var="name" value="朱由检" scope="session"/>相当于session.setAttribute("name","朱由检");
<c:remove var="" scope=""/>将保存在scope中的属性删除
<c:catch></c:catch>将嵌套内的代码出现的异常信息封装到pageContext域内的var指定的属性中
<c:catch var="error">
<c:out value="${2/0 }"/>
</c:catch>
<c:if test="" var="test的结果" scope="test的结果保存的域"/>
<c:if test="${user.age==22 }">
${user.username }---${user.age }---${user.sex }</c:if>
<c:choose>
<c:when test=""></c:when>
<c:when test=""></c:when>
<c:otherwise></c:otherwise>
</c:choose>
与java中的if else类似
<c:forTokens items="需要遍历的字符串" delims="间隔符" varStatus=""/>
遍历根据指定间隔符间隔的字符串
<c:forTokens items="${content }" delims="/" var="info">
${info }<br/>
</c:forTokens>
---文章为原创,如有错误与不足之处,还望斧正,小生在此谢过啦---