当前位置:网站首页 > 技术博客 > 正文

jsp中的标签库



JSP logo

JSTL(JSP Standard Tag Library,核心标签库)是 JSP 标签的集合,它封装了 JSP 应用的通用核心功能。



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 属性引入某个标签库的配置文件,JSP 页面中通过 prefix 属性指定的前缀即可访问该标签库中的某个标签功能,如 。


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



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)标签可以通过很简单的方式转换数字、日期,导入格式化标签库的语法如下。



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

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



JSTL SQL 标签 标签 说明 <sql:setDataSource> 用来在 JSP 页面中配置数据源 <sql:query> 查询数据库中的数据 <sql:update> 更新数据库中的数据 <sql:dateParam> 提供日期和时间的动态值 <sql:transaction> 事务管理 <sql:param> 设置 SQL 语句中的动态值

JSTL 函数(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() 用来删除指定字符串两端的空格


  • 上一篇: 协程到底是什么
  • 下一篇: 异步fifo实现
  • 版权声明


    相关文章:

  • 协程到底是什么2024-12-27 16:30:04
  • api功能测试2024-12-27 16:30:04
  • 组策略 uac2024-12-27 16:30:04
  • 无锁设计2024-12-27 16:30:04
  • c语言中标志位的使用2024-12-27 16:30:04
  • 异步fifo实现2024-12-27 16:30:04
  • linux md5sum命令2024-12-27 16:30:04
  • 防抖和节流如何实现2024-12-27 16:30:04
  • 刷题下载2024-12-27 16:30:04
  • 有没有图片对比相似的软件2024-12-27 16:30:04