一、导入jar包
并在需要使用JSTL的文件中使用如下标签
<%@ taglib uri=“标签库的定位” prefix=“前缀(简称)” %>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>
二、常用的JSTL标签
1.设置属性
<c:set var="msg" value="a"></c:set>
<c:out var="${msg}" default="信息未找到"></c:out>
<c:remove var="msg" scope="application"></c:remove>
2.条件分支
<%--test 相当于 if(判断条件)
var 判断条件的结果 保存到域对象中 数据的名称
scope 控制操作的域--%>
<c:if test="${score ge 90 and score le 100}" var="f1" scope="page">A</c:if>
分数:
<c:if test="${score ge 90 and score le 100}" var="f1">A</c:if>
<c:if test="${score ge 80 and score le 90}" var="f2">B</c:if>
<c:if test="${score ge 70 and score le 80}" var="f3">C</c:if>
${f1}-----${f2}------${f3}
<c:choose>
<c:when test="${score ge 90}">A</c:when>
<c:when test="${score ge 80}">B</c:when>
<c:when test="${score ge 70}">C</c:when>
<c:when test="${score ge 60}">D</c:when>
<c:otherwise>E</c:otherwise>
</c:choose>
3.迭代标签
<%--var 用于定义变量
begin 用于定义变量的起始值
end 用于定义变量的结束值
tep 用于定义变量的步长 默认值1
for(int i = 0; i<= 10 ;i++)
foreach 循环没迭代一次 就会向page域中放入一个 i= * 值
--%>
<c:forEach var="i" begin="1" end="9" step="1">
<c:forEach var="j" begin="1" end="${i}" step="1">
${j}*${i}= ${i*j}
</c:forEach>
<br/>
</c:forEach>
items: 要遍历的集合, 需要使用EL表达式取值
varStatus: 迭代变量的状态
index: 索引, 从0开始
count: 计数, 从1开始
first: boolean, 表示是否是第一个
last: boolean, 表示是否是最后一个
current: 对象, 当前迭代的对象值
<table cellpadding="0px" cellspacing="0px">
<tr>
<th>索引</th>
<th>序号</th>
<th>身份编号</th>
<th>姓名</th>
<th>密码</th>
<th>是不是第一个</th>
<th>是不是最后一个</th>
<th>姓名</th>
</tr>
<c:forEach items="${requestScope.users}" var="user" varStatus="status">
<tr>
<td>${status.index}</td>
<td>${status.count}</td>
<td>${user.id}</td>
<td>${user.username}</td>
<td>${user.password}</td>
<td>${status.first}</td>
<td>${status.last}</td>
<td>${status.current.username}</td>
</tr>
</c:forEach>
4.格式化标签
日期格式化
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
value | 显示的日期 | 必要 | 无 |
type | DATE,TIME,BOTH | 否 | DATE |
dateStyle | FULL,LONG,MEDIUM,SHORT或DEFAULT | 否 | 无 |
pattern | 自定义格式 | 否 | 无 |
timeZone | 日期的时区 | 否 | 默认时区 |
<fmt:formatDate value="${emp.hiredate}" pattern="yyyy年MM月dd日 HH:mm:ss E"></fmt:formatDate>