JSP标准标签库(JSTL)个人使用指南


前排提示,本篇仅涉及 JSTL 的配置和简要介绍 JSTL 的 Core 和 Functions 标签库中几个常用的标签。更加详细的内容,博主会贴相应超链接。

注意:本教程使用的 JSTL 1.2,如果你使用的是 JSTL 1.1 或之前的版本,需要导入 jstl.jar 和 standard.jar 两个包。可点击 http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ 链接下载 JSTL 1.1 及之前的版本。


JSTL 规范由 Sun 公司制定,由 Apache 的 Jakarta 小组负责实现。JSTL 由 5 个不同功能的标签库组成,包括 Core、I18N、XML、SQL 以及 Functions;

配置 JSTL

注意:JSTL 现在已经是 Java EE5 的一个组成部分,如果采用支持 Java EE5 或以上版本的集成开发环境开发 Web 应用程序,就不需要再配置 JSTL 了。

JSTL的下载

使用 JSTL 需要引入 JSTL 的 JAR 包和标签库描述符文件(扩展名为 .tld),标签库描述符文件内包含标签库中所有标签的定义、标签名、功能类及各种属性。

  • JATL JAR 包官方下载网址:https://tomcat.apache.org/taglibs/standard/

下载完毕以后可以根据使用的软件进行配置。

Eclipse 平台

如果你再用的是 Eclipse 平台,则需要配置 JSTL。配置 JSTL 的步骤如下:

1)复制 JSTL 的标准实现

在 Tomcat 的 \webapps\examples\WEB-INF\lib 目录下找到 taglibs-standard-impl-1.2.5.jartaglibs-standard-spec-1.2.5.ja r文件,然后复制到 Web 工程的 WEB-INF\lib 目录下。

2)使用 taglib 标记定义前缀与 uri 引用

如果使用 Core 标签库,首先需要在 JSP 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

如果使用 Functions 标签库,首先需要在 JSP 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

IDEA 平台

1)复制 JSTL 的标准实现

在 Tomcat 的 \webapps\examples\WEB-INF\lib 目录下找到 taglibs-standard-impl-1.2.5.jartaglibs-standard-spec-1.2.5.ja r文件,然后复制到 Web 工程的 WEB-INF\lib 目录下。

2) 拷贝 tlb 文件

把压缩包解压后得将 tld 下的需要引入的 tld 文件复制到 WEB-INF 目录下。

接下来我们在 web.xml 文件中添加以下配置:可以根据需求增删

<?xml version="1.0" encoding="UTF-8"?>

    
    
    http://java.sun.com/jsp/jstl/fmt
    /WEB-INF/fmt.tld
    
    
    http://java.sun.com/jsp/jstl/fmt-rt
    /WEB-INF/fmt-rt.tld
    
    
    http://java.sun.com/jsp/jstl/core
    /WEB-INF/c.tld
    
    
    http://java.sun.com/jsp/jstl/core-rt
    /WEB-INF/c-rt.tld
    
    
    http://java.sun.com/jsp/jstl/sql
    /WEB-INF/sql.tld
    
    
    http://java.sun.com/jsp/jstl/sql-rt
    /WEB-INF/sql-rt.tld
    
    
    http://java.sun.com/jsp/jstl/x
    /WEB-INF/x.tld
    
    
    http://java.sun.com/jsp/jstl/x-rt
    /WEB-INF/x-rt.tld
    
    

使用任何库,你必须在每个 JSP 文件中的头部包含 标签。

核心标签

JSTL 核心(core)标签是最常用的 JSTL 标签,导入核心标签库的语法如下:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
标签 说明
将表达式的结果输出到页面中,类似于 <%= ...%>
在指定范围内设置变量或属性值
类似于 Java if 语句,用于条件判断
类似于 Java switch 关键字,为 的父标签
的子标签,用来判断条件是否成立
的子标签,当所有的 标签判断为 false 时被执行
类似于 Java for,用于迭代集合中的信息
类似于 Java split,用于分隔字符串
用于删除数据
用于捕获异常
用来导入静态或动态文件
用来传入参数
用于将当前页面重定向至另一个 URL
用于将 URL 格式化为一个字符串

格式化标签

JSTL 格式化(fmt)标签可以通过很简单的方式转换数字、日期,导入格式化标签库的语法如下。

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
标签 说明
设置请求数据的字符编码
用于设置用户本地化环境
绑定资源
用来从指定的资源文件中调用信息
绑定资源
用于格式化数字、百分比和货币
用于解析数字、货币和百分比
用于使用不同的方式格式化日期
用于把字符串类型的日期转换成日期数据类型
用于指定时区
用于设定默认时区

SQL标签

JSTL SQL 标签提供了许多操作数据库(MySQL、Oracle、SQL Server 等)的标签。虽然在大型的网站中不建议使用这种标签库,但在小型网站中经常会用到。导入 SQL 标签库的语法如下。

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
标签 说明
用来在 JSP 页面中配置数据源
查询数据库中的数据
更新数据库中的数据
提供日期和时间的动态值
事务管理
设置 SQL 语句中的动态值

函数标签

JSTL 函数(fn)标签大部分是通用的字符串处理函数,导入函数标签库的语法如下:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
标签 说明
fn:contains() 用于判断一个字符串是否包含指定的字符串,区分大小写
fn:containsIgnoreCase() 用于判断一个字符串是否包含指定的字符串,不区分大小写
fn:endsWith() 用于判断一个字符串是否以指定的后缀结尾
fn:escapeXml() 用于转义 HTML/XML 中的字符
fn:indexOf() 用于返回字符串在指定字符串中的开始位置
fn:join() 用来将数组中的所有元素利用指定的分隔符来连接成一个字符串
fn:length() 用于返回指定字符串的长度
fn:split() 用于将字符串用指定的分隔符分隔为一个子串数组
fn:startsWith() 用于判断一个字符串是否以指定的前缀开头
fn:substring() 用来返回指定字符串的子字符串
fn:substringAfter() 用来返回字符串中指定子字符串后面的部分
fn:substringBefore() 用来返回字符串中指定子字符串前面的部分
fn:toLowerCase() 用来将指定字符串中的所有字符转为小写
fn:toUpperCase() 将指定字符串中的所有字符转为大写
fn:trim() 用来删除指定字符串两端的空格

相关