JSTL标签库
JSTL标签库是为了弥补html标签补助,规定自定义标签的使用,使用jstl标签的目的,不希望在jsp页面出现java逻辑代码
引入jstl类库
—jstl.jar
—
JSTL 分类:
1.核心标签
2.国际化标签库
3.数据库标签
4.XML标签
5.JSTL函数(EL函数)
核心库
1.表达式控制标签 : out,set,remove,catch
2.流程控制 : if,choose,when,otherwise标签
3.循环标签 : forEach,forTokens
4.URL操作标签 : import,url,redirect,param
使用流程:
1. 引入核心标签库
<c:out>
1. value : 制定要输出的内容,字符串,${}
2. default : 如果value为null将输出default中的只
3. escapeXml : 是否以html方式输出,默认值 true
<c:out>
1. value : 制定要输出的内容,字符串,${}
2. default : 如果value为null将输出default中的只
3. escapeXml : 是否以html方式输出,默认值 true
<c:set>
<c:set value="值" var="作用域中的名称" [scope="page|request|session|application"]>
<c:set target="javaBean对象" property="属性名" value="值">
<c:set target="${user}" property="id" value="1001">
${user.id}
<c:remove> : 移除作用域中指定的变量
<c:remove val="变量名" [scope="page|request|session|application"]>
<c:catch> : 捕获标签体中的异常
<c:catch>
编写代码
</c:catch>
<c:catch [var="变量名"]>...
var: 接收标签体中的异常对象
----------------
<c:if test="${1==1}" [var="存储test结果"] [scope="page|request|session|application"] >
当test条件为true的时候,执行
</c:if>
test : 判断条件,一般使用EL表达式编写
var : 存放判断结果
scope : 设置var属性的存放位置
<c:choose>
<c:when test="${1==2}">
</c:when>
<c:when test="${1==2}">
</c:when>
.....
<c:otherwise>
都不满足执行
</c:otherwise>
</c:choose>
<c:forEach items="" var="" begin="" end="" step="" varStatus="" >
</c:forEach>
items : 指定要遍历的集合
Arrays,Collection,Iterator,Map,Enumeration
var : 集合中的一个对象(变量名)
begin : 循环的开始下标 int
end : 循环结束的位置 int
step : 循环指定的步长
varStatus : 设置变量名.该变量用于存储集合中元素的信息
1. index : 当前循环的下标
2. count : 循环的次数
3. first : 是否是第一个元素
4. last : 是否是最后一个元素
<c:forTokens items="" delims="" [var="" begin="" end="" step="" varStatus="" ]></c:forTokens>
items : 被分割的字符串
delims : 分隔符