首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

JSTL 标准标签库完全指南:核心、格式化、SQL、XML 与函数标签详解

     編輯:Java 綜合教學

什么是 JSTL?

JSP Standard Tag Library (JSTL) 封装了 JSP 应用的通用核心功能(迭代、条件判断、国际化、数据库操作、XML 处理等),用标签替代 Scriptlet,使页面更简洁、易维护。

库安装与配置

  1. 下载 jakarta-taglibs-standard-1.1.2.zip(官方或本站)。
  2. 解压,将 standard.jar 和 jstl.jar 放入 WEB-INF/lib/。
  3. 在 web.xml 中配置 TLD 映射(或依赖 Servlet 容器自动加载,现代容器通常无需此步)。
  4. JSP 页面引入:<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>

五大标签库分类速查表

1. 核心标签 prefix="c" uri="https://java.sun.com/jsp/jstl/core"

标签功能描述
<c:out>输出数据,类似 <%= %>,支持转义
<c:set>设置变量值
<c:remove>移除变量
<c:catch>捕获异常,存入变量
<c:if>条件判断
<c:choose> / <c:when> / <c:otherwise>多路选择结构
<c:import>引入 URL 内容
<c:forEach>基础迭代(List、Map、数组、范围)
<c:forTokens>按分隔符分割字符串迭代
<c:param>为 import/redirect 传参
<c:redirect>重定向
<c:url>构建 URL(自动加 Session ID)

2. 格式化标签 prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt"

标签功能描述
<fmt:formatNumber>格式化数字/货币/百分比
<fmt:parseNumber>解析字符串为数字
<fmt:formatDate>格式化日期时间
<fmt:parseDate>解析字符串为日期
<fmt:bundle>绑定资源包
<fmt:setLocale>指定区域设置
<fmt:setBundle>加载资源包
<fmt:timeZone> / <fmt:setTimeZone>指定/设置时区
<fmt:message>输出国际化消息
<fmt:requestEncoding>设置请求编码

3. SQL 标签 prefix="sql" uri="https://java.sun.com/jsp/jstl/sql"

注意:生产环境不建议在 JSP 直接写 SQL,此处仅作功能介绍。

标签功能描述
<sql:setDataSource>配置数据源
<sql:query>执行查询
<sql:update>执行增删改
<sql:param>设置参数(防注入)
<sql:dateParam>设置日期参数
<sql:transaction>事务控制

4. XML 标签 prefix="x" uri="https://java.sun.com/jsp/jstl/xml"

需额外放入 XercesImpl.jar、xalan.jar 至 Tomcat lib 目录。

标签功能描述
<x:out>输出 XPath 表达式结果
<x:parse>解析 XML 文档
<x:set>设置 XPath 变量
<x:if>XPath 条件判断
<x:forEach>迭代 XML 节点
<x:choose/when/otherwise>XML 多路选择
<x:transform>应用 XSLT 转换
<x:param>XSLT 参数

5. 函数标签 prefix="fn" uri="https://java.sun.com/jsp/jstl/functions"

常用字符串处理函数:

函数描述
fn:contains(str, substr)是否包含子串
fn:containsIgnoreCase(...)忽略大小写包含判断
fn:startsWith/endsWith前缀/后缀判断
fn:indexOf子串首次出现位置
fn:join/split数组转字符串 / 字符串分割成数组
fn:length字符串/集合长度
fn:replace字符串替换
fn:substring/Before/After子串截取
fn:toLowerCase/UpperCase大小写转换
fn:trim去首尾空白

实战示例:<c:forEach> 遍历 List

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<ul>
    <c:forEach var="user" items="${userList}">
        <li>${user.name} - ${user.email}</li>
    </c:forEach>
</ul>

总结

JSTL 是 JSP 开发的基石,掌握核心标签(c:forEach、c:if/choose、c:set/out)和格式化标签即可覆盖 90% 页面开发需求。现代开发建议配合 EL 表达式使用,彻底杜绝 Scriptlet。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved