JSP 标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL (JSP Standard Tag Library,JSP标准标签库) 支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
根据JSTL标签所提供的功能,可以将其分为5个类别。
- 核心标签
- 格式化标签
- SQL 标签
- XML 标签
- JSTL 函数
<c:forEach> :循环实现
相关属性:
items 集合变量的名字
var 定义每次循环中集合里每一个对象的名字
varStatus 集合每次的循环的索引标记:它包含多个值:
current 当前这次迭代的(集合中的)项
index 当前这次迭代从 0 开始的迭代索引
count 当前这次迭代从 1 开始的迭代计数
first 用来表明当前这轮迭代是否为第一次迭代的标志
last 用来表明当前这轮迭代是否为最后一次迭代的标志
begin 属性值
end 属性值
step 属性值
<c:forEach items="${dataList }" var="item" varStatus="status">
<p>${status.index}</p>
<p>${status.count}</p>
<p>${item.username}</p>
<c:if test="${status.count%2==0 }">
...................................
</c:if>
</c:forEach>
${status.index} 输出行号,从0开始。
${status.count} 输出行号,从1开始。
${status.current} 当前这次迭代的(集合中的)项
${status.first} 判断当前项是否为集合中的第一项,返回值为true或false
${status.last} 判断当前项是否为集合中的最后一项,返回值为true或false
begin、end、step 分别表示:起始序号,结束序号,跳跃步伐。
长度判断:
在jsp页面头部引入 JSTL 标签库:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
应用方法如下:
<c:if test="${fn:length(item.content)>50 }">
<p>${fn:substring(item.content,0,50) } ........</p>
</c:if>
<c:choose>
<c:when test="${fn:length(item.title)> 12}">
${fn:substring(item.title,0,12)}......
</c:when>
<c:otherwise>
${item.title }
</c:otherwise>
</c:choose>
JSTL C标签 <c:if>判断参数是否为空
<c:if test="${empty str}"> str为空</c:if>
<c:if test="${not empty str}"> str不为空</c:if>
时间格式转换:
嵌入标签库:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd"></fmt:formatDate>