biancheng-JSTL标签库
JSP 标签是一组与 HTML 标签相似,但又比 HTML 标签强大的功能标签。JSTL 用来简化 JSP 开发,可以使我们不用嵌入 Java 代码就能够开发出复杂的 JSP 页面。
JSTL 包含 5 类标签库:core 标签库、fmt 标签库、fn 标签库、XML 标签库和 SQL 标签库。这 5 类标签库基本覆盖了 Web 开发中的所涉及的技术展示。
JSTL的下载和使用
使用 JSTL 需要引入 JSTL 的 JAR 包和标签库描述符文件(扩展名为 .tld),标签库描述符文件内包含标签库中所有标签的定义、标签名、功能类及各种属性。
- JATL JAR 包官方下载网址:https://tomcat.apache.org/taglibs/standard/
- JATL JAR 包本站下载地址:jstl.zip
注意:本教程使用的 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" %>
| 标签 | 说明 |
|---|---|
| <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" %>
| 标签 | 说明 |
|---|---|
| <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" %>
| 标签 | 说明 |
|---|---|
| <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" %>
| 标签 | 说明 |
|---|---|
| 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标签库的更多相关文章
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- 简单实用JSTL标签库
1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...
- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- 自定义jstl标签库
开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释
笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...
- jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...
- jstl标签库基础教程及其使用代码(一)。
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- Struts、JSTL标签库的基本使用方法
一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...
- jstl标签库基础教程及其使用代码
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
随机推荐
- .NET Core 委托底层原理浅谈
简介 .NET通过委托来提供回调函数机制,与C/C++不同的是,委托确保回调是类型安全,且允许多播委托.并支持调用静态/实例方法. 简单来说,C++的函数指针有如下功能限制,委托作为C#中的上位替代, ...
- 4G模组AT指令 | MQTT应用指南!
今天,老师傅讲的是关于4G模组AT指令之MQTT应用,以4G模组Air780E为例: 一.MQTT 协议简介 1.1 MQTT 概述 MQTT 是一种轻量级的消息传输协议,旨在在物联网(IoT)应用中 ...
- delphi 图形图像处理 Image32
delpher 越来越少了,但不能掩盖它的优秀,很外前看到了 Image32,但发现用它的人很少,这段时间整理了它的资料,重新组合了一个DEMO,也可以说是个小工具,分享出来. Image32 关于I ...
- configuration file routines:DEF_LOAD_BIO:missing equal sign:conf_def.c:362
报错: Auto configuration failed 139868431284128:error:0E079065:configuration file routines:DEF_LOAD_BI ...
- 读书笔记-C#8.0本质论-05
18.3 基于任务的异步编程模式 18.3.1 使用任务并行库(TPL)实现异步执行高延迟操作 using System; using System.Net.Http; using System.Th ...
- ArrayList removeRange方法分析
<ArrayList原码分析>一文中提到了"为什么removeRange(int fromIndex,int toIndex)是protected的?" 先给出remo ...
- MySQL之根据经纬度计算距离
可以在MySQL层面使用自定义计算函数来使用 CREATE DEFINER=`xxx`@`%` FUNCTION `get_distance`( lat1 float,lon1 float,lat2 ...
- redis教程(Mac)
1.首先,检查是否已经安装Homebrew,如果没有安装Homebrew,请先安装 2.使用Homebrew安装命令,在终端输入以下命令 brew install redis 当前默认安装5.0.8版 ...
- 2.3k Star!强得不像开源的问卷调研平台
产品:咱们的新功能上线了,得问问用户的意见,做个调研问卷吧! 运营:对啊,用户意见很重要,我们要认真听取反馈! 领导:问卷别搞得像考试.我们要的是真实的声音,而不是让用户头疼的题目. 程序员:收到! ...
- Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
背景事件:近日,优衣库宣布不再使用新疆棉花,这一举措引发了广泛的社会讨论.消费者的反应和舆论的压力,让优衣库的决策迅速影响了市场和品牌形象.类似的,许多系统也面临着需要根据外部事件或状态的变化,做出即 ...