目录

JSP - 标准标记库( Standard Tag Library)

在本章中,我们将了解JSP中的不同标记。 JavaServer Pages标准标记库(JSTL)是有用的JSP标记的集合,它封装了许多JSP应用程序通用的核心功能。

JSTL支持常见的结构任务,例如迭代和条件,用于操作XML文档的标记,国际化标记和SQL标记。 它还提供了一个框架,用于将现有自定义标记与JSTL标记集成。

安装JSTL库

要开始使用JSP tages,首先需要安装JSTL库。 如果您使用的是Apache Tomcat容器,请按照以下两个步骤进行操作 -

Step 1 - 从Apache Standard Taglib下载二进制发行并解压缩压缩文件。

Step 2 - 要从其Jakarta Taglibs distribution使用标准Taglib,只需将发行版'lib'目录中的JAR文件复制到应用程序的webapps\ROOT\WEB-INF\lib目录中。

要使用任何库,必须在使用该库的每个JSP的顶部包含指令。

JSTL标签的分类

JSTL标记可以根据其功能分类到以下可在创建JSP页面时使用的JSTL标记库组中 -

  • Core Tags

  • Formatting tags

  • SQL tags

  • XML tags

  • JSTL Functions

核心标签

核心标签组是最常用的JSTL标签。 以下是在JSP中包含JSTL核心库的语法 -

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

下表列出了核心JSTL标签 -

S.No. 标签和说明
1 <c:out>

像,但对于表达式。

2 <c:设置>

'scope'设置表达式求值的结果

3 <c:删除>

删除scoped variable (来自特定范围,如果指定)。

4 <c:catch>

捕获其体内发生的任何Throwable并可选择暴露它。

5 <c:if>

简单条件标记,如果提供的条件为真,则评估其正文。

6 <c:choose>

简单条件标记,用于为互斥条件操作建立上下文,标记为《when》《otherwise》

7 <c:when>

如果条件评估为'true' ,则《choose》标签包括其正文。

8 <c:否则>

《choose》标签位于《when》标签之后,仅在所有先前条件评估为'false'

9 <c:import>

检索绝对或相对URL,并将其内容公开给页面, 'var'的String或'varReader'的Reader。

10 <c:forEach>

基本迭代标记,接受许多不同的集合类型并支持子集和其他功能。

11 <c:forTokens>

迭代令牌,由提供的分隔符分隔。

12 <c:param>

将参数添加到包含'import'标记的URL。

13 <c:重定向>

重定向到新的URL。

14 <c:url>

使用可选的查询参数创建URL

格式化标签

JSTL格式标签用于格式化和显示国际化网站的文本,日期,时间和数字。 以下是在JSP中包含格式化库的语法 -

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

下表列出了格式化JSTL标签 -

S.No. 标签和说明
1 <fmt:formatNumber>

以特定精度或格式呈现数值。

2 <fmt:parseNumber>

解析数字,货币或百分比的字符串表示形式。

3 <fmt:formatDate>

使用提供的样式和模式格式化日期和/或时间。

4 <fmt:parseDate>

解析日期和/或时间的字符串表示

5 <fmt:bundle>

加载要由其标记主体使用的资源包。

6 <fmt:setLocale>

将给定的语言环境存储在语言环境配置变量中。

7 <fmt:setBundle>

加载资源包并将其存储在指定的范围变量或包配置变量中。

8 <fmt:timeZone>

指定嵌套在其正文中的任何时间格式化或解析操作的时区。

9 <fmt:setTimeZone>

在时区配置变量中存储给定时区

10 <fmt:message>

显示国际化消息。

11 <fmt:requestEncoding>

设置请求字符编码

SQL Tags

JSTL SQL标记库提供用于与关系数据库(RDBMS)(如Oracle, mySQLMicrosoft SQL Server )交互的标记。

以下是在JSP中包含JSTL SQL库的语法 -

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

下表列出了SQL JSTL标签 -

S.No. 标签和说明
1 <sql:setDataSource>

创建一个仅适用于原型设计的简单DataSource

2 <sql:query>

执行在其正文中或通过sql属性定义的SQL查询。

3 <sql:update>

执行在其正文中或通过sql属性定义的SQL更新。

4 <sql:param>

将SQL语句中的参数设置为指定的值。

5 <sql:dateParam>

将SQL语句中的参数设置为指定的java.util.Date值。

6 <sql:transaction>

提供具有共享Connection的嵌套数据库操作元素,设置为将所有语句作为一个事务执行。

XML标签

JSTL XML标记提供了一种以JSP为中心的方法来创建和操作XML文档。 以下是在JSP中包含JSTL XML库的语法。

JSTL XML标记库具有用于与XML数据交互的自定义​​标记。 这包括解析XML,转换XML数据以及基于XPath表达式的流控制。

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

在继续执行示例之前,您需要将以下两个与XML和XPath相关的库复制到《Tomcat Installation Directory》\lib -

以下是XML JSTL标签列表 -

S.No. 标签和说明
1 <x:out>

像,但对于XPath表达式。

2 <x:parse>

用于解析通过属性或标记正文中指定的XML数据。

3 <x:set>

将变量设置为XPath表达式的值。

4 <x:if>

计算测试XPath表达式,如果为true,则处理其正文。 如果测试条件为假,则忽略正文。

5 <x:forEach>

循环遍历XML文档中的节点。

6 <x:choose>

简单条件标记,用于为互斥条件操作建立上下文,标记为《when》《otherwise》标记。

7 <x:when>

《choose》标签,如果其表达式评估为《choose》 ,则包括其正文。

8 <x:否则>

《choose》标签位于《when》标签之后,仅在所有先前条件评估为“false”时运行。

9 <x:transform>

在XML文档上应用XSL转换

10 <x:param>

transform标记一起使用以在XSLT样式表中设置参数

JSTL 函数

JSTL包含许多标准函数,其中大多数是常见的字符串操作函数。 以下是在JSP中包含JSTL函数库的语法 -

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

下表列出了各种JSTL函数 -

S.No. 功能说明
1 fn:contains()

测试输入字符串是否包含指定的子字符串。

2 fn:containsIgnoreCase()

测试输入字符串是否以不区分大小写的方式包含指定的子字符串。

3 fn:endsWith()

测试输入字符串是否以指定的后缀结尾。

4 fn:escapeXml()

转义可以解释为XML标记的字符。

5 fn:indexOf()

返回带有第一次出现的指定子字符串的字符串的索引。

6 fn:join()

将数组的所有元素连接成一个字符串。

7 fn:length()

返回集合中的项目数或字符串中的字符数。

8 fn:replace()

返回一个字符串,该字符串是在输入字符串中替换所有出现的字符串。

9 fn:split()

将字符串拆分为子字符串数组。

10 fn:startsWith()

测试输入字符串是否以指定的前缀开头。

11 fn:substring()

返回字符串的子集。

12 fn:substringAfter()

返回特定子字符串后面的字符串的子集。

13 fn:substringBefore()

返回特定子字符串之前的字符串子集。

14 fn:toLowerCase()

将字符串的所有字符转换为小写。

15 fn:toUpperCase()

将字符串的所有字符转换为大写。

16 fn:trim()

从字符串的两端删除空格。

↑回到顶部↑
WIKI教程 @2018