JSP 标签是一组与 HTML 标签相似,但又比 HTML 标签强大的功能标签。JSTL 用来简化 JSP 开发,可以使我们不用嵌入 Java 代码就能够开发出复杂的 JSP 页面。

JSTL 包含 5 类标签库:core 标签库、fmt 标签库、fn 标签库、XML 标签库和 SQL 标签库。这 5 类标签库基本覆盖了 Web 开发中的所涉及的技术展示。

JSTL的下载和使用

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

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

使用 taglib 指令导入标签库描述符文件,例如要使用 JSTL 核心标签库,需要在 JSP 页面的上方增加如下指令:

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

taglib 指令通过 uri 属性引入某个标签库的配置文件,JSP 页面中通过 prefix 属性指定的前缀即可访问该标签库中的某个标签功能,如 <c:out>

核心标签

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

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

格式化标签

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

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

SQL标签

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

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

函数标签

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

  • <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
JSTL函数标签
标签 说明
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() 用来删除指定字符串两端的空格

biancheng-JSTL标签库的更多相关文章

  1. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  2. 简单实用JSTL标签库

    1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...

  3. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  4. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  5. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  6. JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释

    笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...

  7. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  8. jstl标签库基础教程及其使用代码(一)。

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  9. Struts、JSTL标签库的基本使用方法

    一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...

  10. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

随机推荐

  1. RAC:无训练持续扩展,基于检索的目标检测器 | ECCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Online Learning via Memory: Retrieval-Augmented Detector Adaptation 论文地 ...

  2. 基于Java+SpringBoot心理测评心理测试系统功能实现三

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  3. 基于.NET开源、功能强大且灵活的工作流引擎框架

    前言 工作流引擎框架在需要自动化处理复杂业务流程.提高工作效率和确保流程顺畅执行的场景中得到了广泛应用.今天大姚给大家推荐一款基于.NET开源.功能强大且灵活的工作流引擎框架:elsa-core. 框 ...

  4. 管理 Python 环境和依赖关系的工具 venv、virtualenv、pipenv 、poetry 、 miniforge 和 anaconda 的区别

    管理 Python 环境和依赖关系的工具 venv.virtualenv.pipenv .poetry . miniforge 和 anaconda 的区别 venv.virtualenv.pipen ...

  5. C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  6. 题解:P6672 [清华集训2016] 你的生命已如风中残烛

    题解:P6672 [清华集训2016] 你的生命已如风中残烛 标签 组合数学 分析 首先引入一个引理. Raney 引理 对于一个长度为 \(n\) 的序列 \(a\),如果 \(\sum\limit ...

  7. 『玩转Streamlit』--布局与容器组件

    在Streamlit中,布局类组件扮演着至关重要的角色. 它们不仅决定了应用程序的视觉呈现和用户体验,也极大地增强了页面内容的组织性和可读性. 通过这些组件,开发者可以灵活地划分页面空间,创建出清晰. ...

  8. 深入Log4J源码之Log4J Core

    毕业又赶上本科的同学会,还去骑车环了趟崇明岛,六月貌似就没消停过,不过终于这些事情基本上都结束了,我也可以好好的看些书.读些源码.写点博客了. Log4J将写日志功能抽象成七个核心类/接口:Logge ...

  9. 如何编写一个高效的Java表达式求值程序

    当然,这个标题是有一点夺人眼球,但我确实这么做了(关于是否相信基准测试结果,这是另一个话题). 所以,上周我一直在找一个小型.实用的计算数学表达式的类库.偶然间我在stackoverflow上看到了一 ...

  10. golang之验证器validator

    快速安装 使用之前,我们先要获取validator这个库. # 第一次安装使用如下命令 go get github.com/go-playground/validator/v10 # 项目中引入包 i ...