JSTL
-
全称: Java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库
-
使用步骤:
- 步骤一:导入jar包,jstl.jar和standard.jar,下载地址:https://mvnrepository.com/,搜索jstl,standard,选择下载次数最多的。
- 步骤二:导入标签库
核心标签库:http://java.sun.com/jsp/jstl/core
包含 Web 应用的常见工作,比如:循环、表达式、值、基本输入输出等。
格式化标签库:http://java.sun.com/jsp/jstl/fmt
用来格式化显示数据的工作,比如:对不同区域
的日期格式化等
例如:<%@taglib uri=”http://java.sun.com/jsp/jstl/core” prefifix=”c”%>
c标签的if
<%request.setAttribute("num", "1"); %>
<c:if test="${'1==1'}" var="flag"></c:if> <!-- flase -->
<c:if test="1==1" var="flag"></c:if> <!-- flase -->
<c:if test="${'num==1'}" var="flag"></c:if> <!-- true -->
<c:if test="${1==1}" var="flag"></c:if> <!-- true -->
var的flag存放test的值,这里是true或者是false
c标签的choose,when,otherwise
<c:choose>
<c:when test="<boolean>"> ... </c:when>
<c:when test="<boolean>"> ... </c:when>...
<c:otherwise> ... </c:otherwise>
</c:choose>
迭代标签foreach
<c:forEach var="每次循环的成员(限域变量)" begin="开始数" end="结束数" step="间隔数(默认 是1)" > 主体内容 </c:forEach>
迭代对象
<c:forEach var="i" begin="0" end="10"> ${i }、主体内容<br/> </c:forEach>
<c:forEach var="i" begin="0" end="10" step="3"> ${i }、主体内容<br/> </c:forEach>
迭代list
<%List<String> list = new ArrayList<>(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("赵六"); // 将集合存到域对象中 request.setAttribute("list", list); %>
<table border="1" style="border-collapse: collapse;">
<tr>
<td>当前成员内容</td>
<td>当前成员的下标</td>
<td>当前循环次数</td>
<td>是否是第一个成员</td>
<td>是否是最后一个成员</td>
</tr>
<c:forEach items="${list}" var="item" begin="0" end="9" varStatus="itemStr">
<tr>
<td>${item}</td>
<td>${itemStr.index }</td>
<td>${itemStr.count }</td>
<td>${itemStr.first }</td>
<td>${itemStr.last }</td>
</tr>
</c:forEach>
</table>
迭代map
<%
Map<String,User> map = new HashMap<>();
map.put("zhangsan", user1);
map.put("lisi", user2); map.put("wangwu", user3);
request.setAttribute("map", map);
%>
<c:forEach items="${map }" var="item">
${item.key }---${item.value }---${item.value.uname }<br>
</c:forEach>