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.jar
和 taglibs-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.jar
和 taglibs-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 关键字,为 |
|
类似于 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() | 用来删除指定字符串两端的空格 |