前言
JSTL(Jsp Standard Tag Libaray)是为了替代jsp中的代码脚本,使得整个jsp更加的简洁,开发和维护变得更加容易。
一、JSTL标签库
JSTL(Jsp Standard Tag Libaray)是为了替代jsp中的代码脚本,使得整个jsp更加的简洁,开发和维护变得更加容易。
主要使用其中的三种功能标签库,即核心标签库-c、格式化标签库-fmt、函数标签库-fn。
1、核心标签库-c
1)引入,使用taglib指令引入。<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2)使用,<c:? param>
A.set
给域对象里存数据。
<c:set scope="page" var="username" value="lls" ></c:set>
<c:set scope="request" var="username" value="lls" ></c:set>
<c:set scope="session" var="username" value="lls" ></c:set>
<c:set scope="application" var="username" value="lls" ></c:set>
B.if
做判断。
<c:if test="${username eq password}" >
<!-- 执行 -->
</c:if>
C.多路判断
模仿switch case
<c:choose>
<c:when test="${requestScope.height > 180}">
<h1>高</h1>
</c:when>
<c:when test="${requestScope.height > 170}">
<h1>中</h1>
</c:when>
<c:when test="${requestScope.height > 160}">
<h1>低</h1>
</c:when>
<c:otherwise>
<h1>很低</h1>
</c:otherwise>
</c:choose>
注:
1)标签里面不能有HTML注释,可以是JSP注释。
2)不需要手动break,只执行一种情况。
3)多路判断嵌套多路判断时,一定要加上<c:choose>开头。
D.c:forEach
遍历数组、集合以及Map。
<c:forEach begin="1" end="10" var="i" step="2">
<h1>${i}</h1>
</c:forEach>
<%-- Object[] arr = new Object[]{1,2,3}; --%>
<c:forEach items="${arr}" var="el">
<h1>${el}</h1>
</c:forEach>
<%-- List<User> users = new ArrayList<>(); --%>
<c:forEach begin = "2" end="10" items="${users}" var="user">
<h1>${user.username}</h1>
</c:forEach>
<%-- Map<String,String> map = new HashMap<>(); --%>
<c:forEach items="${map}" var="entry">
<h1>${entry.key}:${entry.value}</h1>
</c:forEach>
注:
1)遍历集合或Map中加begin和end,属于是[begin,end]
2)varStatus表示将当前数据的状态信息封装到该对象中。该对象的接口信息如下,
总结
1)核心标签库
参考文献
[1] Java Web 尚硅谷