JSTL 标签库
JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库,是一个不断完善的开放源代码的 JSP 标 签库。
EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面 变得更佳简洁。
一、引入
JSTL 由五个不同功能的标签库组成。
| 功能范围 | URI | 前缀 |
|---|---|---|
| 核心标签库–重点 | http://java.sun.com/jsp/jstl/core | c |
| 格式化 | http://java.sun.com/jsp/jstl/fmt | fmt |
| 函数 | http://java.sun.com/jsp/jstl/functions | fn |
| 数据库(不使用) | http://java.sun.com/jsp/jstl/sql | sql |
| XML(不使用) | http://java.sun.com/jsp/jstl/xml | x |
在 jsp 标签库中使用 taglib 指令引入标签库
| 标签库 | taglib代码 |
|---|---|
| CORE 标签库 | <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> |
| XML 标签库 | <%@ taglib prefix=“x” uri=“http://java.sun.com/jsp/jstl/xml” %> |
| FMT 标签库 | <%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %> |
| SQL 标签库 | <%@ taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql” %> |
| FUNCTIONS 标签库 | <%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %> |
二、JSTL 标签库的使用步骤
1.先导入 jstl 标签库的 jar 包。
taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar
2.再使用 taglib 指令引入标签库。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
三、core 核心库使用
<c:set />标签
作用:set 标签可以往域中保存数据
语法:<c:set scope=域名 var=键名 value=键值/>
<c:set scope="session" var="abc" value="abcValue"/>
<c:if>标签
作用:if 标签用来做 if 判断。
语法:<c:if test=“${}”>初始值</c:if>
if 标签用来做 if 判断。 test 属性表示判断的条件(使用 EL 表达式输出)
例如
<c:if test="${ 12 == 12 }">
<h1>12 等于 12</h1>
</c:if>
<c:if test="${ 12 != 12 }">
<h1>12 不等于 12</h1>
</c:if>
<c:choose> <c:when> <c:otherwise>标签
作用:多路判断。跟 switch … case … default 非常接近
choose 标签开始选择判断
when 标签表示每一种判断情况
test 属性表示当前这种判断情况的值
otherwise 标签表示剩下的情况
<c:choose> <c:when> <c:otherwise>标签使用时需要注意的点:
- 标签里不能使用 html 注释,要使用 jsp 注释
- when 标签的父标签一定要是 choose 标签
<body>
<% request.setAttribute("height", 180); %>
<c:choose>
<%-- 这是 html 注释 --%>
<c:when test="${ requestScope.height > 190 }">
<h2>小巨人</h2>
</c:when>
<c:when test="${ requestScope.height > 180 }">
<h2>很高</h2>
</c:when>
<c:when test="${ requestScope.height > 170 }">
<h2>还可以</h2>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${requestScope.height > 160}">
<h3>大于 160</h3>
</c:when>
<c:when test="${requestScope.height > 150}">
<h3>大于 150</h3>
</c:when>
<c:when test="${requestScope.height > 140}">
<h3>大于 140</h3>
</c:when>
<c:otherwise> 其他小于 140 </c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</body>
<c:forEach />标签
作用:遍历输出使用。
- 遍历 1 到 10,输出
语法:<c:forEach begin=“1” end=“10” var=“i”>
begin 属性设置开始的索引
end 属性设置结束的索引
var 属性表示循环的变量(也是当前正在遍历到的数据)
===>for (int i = 1; i < 10; i++)
<body>
<table border="1">
<c:forEach begin="1" end="10" var="i">
<tr>
<td>第${i}行</td>
</tr>
</c:forEach>
</table>
</body>
- 遍历 Object 数组
语法:<c:forEach items=“${ requestScope.arr }” var=“item”>
tems 表示遍历的数据源(遍历的集合
var 表示当前遍历到的数据
===> for (Object item: arr)
<%
request.setAttribute("arr", new String[] { "18610541354", "18688886666", "18699998888" });
%>
<c:forEach items="${ requestScope.arr }" var="item">
${ item } <br>
</c:forEach>
本文介绍了JSTL(JSP Standard Tag Library)标签库,包括其组成部分和引入方法。详细讲解了core核心库的使用,如<c:set>、<c:if>、<c:choose>、<c:when>和<c:otherwise>标签,以及<c:forEach>标签的遍历功能。通过实例展示了如何在JSP页面中进行数据存储、条件判断和循环操作,使代码更加简洁和规范。
1361

被折叠的 条评论
为什么被折叠?



