作用:取代在传统jsp页面中嵌入java代码的做法
1.下载依赖包
链接:https://pan.baidu.com/s/1pSzooBCfAciuQ7cZ0rw8Ew
提取码:6xcc
2.在jsp顶部定义引用的标签库和访问前缀
<!--核心标签库-->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!--格式标签库-->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
3.核心标签库
3.1表达式标签
- <c:out>输出
//escapeXML用于指定是否转换特殊字符
<c:out value="...." [escapeXML=false|true]>
</c:out>
- <c:set>变量设置
<c:set var="name" value="value" [scope=“范围”] />
//将变量值存在对象的属性中
<c:set value="value" target="Object" property="pro_name" />
- <c:remove>变量移除
<c:remove var="name" [scope="范围"] />
- <c:catch>捕获异常
//var表示将异常信息存在变量中
<c:catch [var="name"]>
可能存在异常的代码
</c:catch>
3.2 URL相关
- <c:redirect>重定向
<c:redierect url="url" />
- <c:url>动态生成url
<c:url var="name" value="url" [scope=".."] />
- <c:param>传递参数
<c:param name="..." value=".." />
4.流程控制标签
-条件判断:
<c:if test="condition" var="name">
条件成立的代码
</c:if>
- 条件选择:
<c:choose>
<c:when test="condition">
.....
</c:when>
<c:otherwise>
.....
</c:otherwise>
</c:choose>
-循环:
//varstatus(自定义,其属性有index(从下标0开始)|count(从1开始计数)|first(是否第一次循环)|last)
<c:forEach var="每个变量名字" items="要迭代的list" varStatus="变量的状态" begin="循环从哪儿开始" end="循环到哪儿结束" step="循环的步长">
....
</c:forEach>
<c:forTokens items="string对象" delims="分隔符" var="name">
...
</c:forTokens>