JSTL是Apache对EL表达式的扩展
JSTL是标签语言,使用起来方便,jsp的标签一样,
因为不是jsp内置标签,所以需导入需导入
JSTL标签库
四大标签库:
core:核心库
fmt:格式化库
sql
xml
标签库导入:
一.core核心库常用标签
1.out、set
out输出标签
属性:
——value:字符串常量、EL表达式
——default:当value为空时,输出default的值
——escapeXml:true/false,默认值为true(转义)
set设置标签(作用=request.setAttribute())
属性:
——var:属性名
——value:属性值
——scope:域名
2.remove:在域中删除变量
属性:
——var
——scope
3.url
属性:
——value
对于项目名:${pageContext.request.contextPath}
用url标签表示:value="/……":将自动添加项目名
——var:指定变量名,url不输出,将被保存到域中
——scope:指定保存域
子标签:
<c:param>:给url后添加参数,并对参数进行url编码
4.if
<c:if test="${条件}">
当条件为true时执行标签体内容
</c:if>
5.choose:类似switch语句
6.forEach
<c:forEach var="i" begin="1" end="10">
${i}
</c:forEach>
属性:
—— var:循环变量
—— begin:设置循环变量从几开始。
—— end:设置循环变量到几结束。
—— step:设置步长!等同与java中的i++,或i+=2。step默认为1
----------------------
用来输出数组、集合!
<c:forEach items="${strs }" var="str">
${str }<br/>
</c:forEach>
属性:
—— items:指定要循环谁,它可以是一个数组或一个集合
—— var:把数组或集合中的每个元素赋值给var指定的变量。
----------------------
循环状态
使用varStatus来创建循环状态变量
循环状态变量有如下属性:
——count:循环元素的个数
——index:循环元素的下标
——first:是否为第一个元素
——last:是否为最后一个元素
——current:当前元素
eg:
<c:forEach items="${list }" var="ele" varStatus="vs">
${vs.index} ${vs.count } ${vs.first } ${vs.last } ${vs.current }<br/>
</c:forEach>
二、fmt格式化标签
1.格式化时间
<fmt:formatDate value="格式化对象" partten="格式"></fmt:formatDate>
2.格式化数字
<fmt:formatumber value="格式化对象" partten="格式"></fmt:formatumber>