JSTL支持通用的、构造化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。
除了这些,它还供应了一个框架来利用集成JSTL的自定义标签。

根据JSTL标签所供应的功能,可以将其分为5个种别。

核心标签

jsp的标签库JSP 尺度标签库JSTL SQL

格式化标签

SQL 标签

XML 标签

JSTL 函数

JSTL 库安装

Apache Tomcat安装JSTL 库步骤如下:

从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。

官方下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

本站下载地址:jakarta-taglibs-standard-1.1.2.zip

下载jakarta-taglibs-standard-1.1.2.zip 包并解压,将jakarta-taglibs-standard-1.1.2/lib/下的两个jar文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下。

接下来我们在 web.xml 文件中添加以下配置:

<?xml version=\公众1.0\"大众 encoding=\"大众UTF-8\"大众?><web-app version=\公众2.4\"大众

xmlns=\"大众http://java.sun.com/xml/ns/j2ee\"大众

xmlns:xsi=\"大众http://www.w3.org/2001/XMLSchema-instance\"大众

xsi:schemaLocation=\公众http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\"大众>

<jsp-config>

<taglib>

<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>

<taglib-location>/WEB-INF/fmt.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>

<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>

<taglib-location>/WEB-INF/c.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>

<taglib-location>/WEB-INF/c-rt.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>

<taglib-location>/WEB-INF/sql.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>

<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>

<taglib-location>/WEB-INF/x.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>

<taglib-location>/WEB-INF/x-rt.tld</taglib-location>

</taglib>

</jsp-config></web-app>

利用任何库,你必须在每个JSP文件中的头部包含<taglib>标签。

核心标签

核心标签是最常用的JSTL标签。
引用核心标签库的语法如下:

<%@ taglib prefix=\公众c\"大众

uri=\"大众http://java.sun.com/jsp/jstl/core\"大众 %>

标签描述<c:out>用于在JSP中显示数据,就像<%= ... ><c:set>用于保存数据<c:remove>用于删除数据<c:catch>用来处理产生缺点的非常状况,并且将缺点信息储存起来<c:if>与我们在一样平常程序中用的if一样<c:choose>本身只当做<c:when>和<c:otherwise>的父标签<c:when><c:choose>的子标签,用来判断条件是否成立<c:otherwise><c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被实行<c:import>检索一个绝对或相对 URL,然后将其内容暴露给页面<c:forEach>根本迭代标签,接管多种凑集类型<c:forTokens>根据指定的分隔符来分隔内容并迭代输出<c:param>用来给包含或重定向的页面通报参数<c:redirect>重定向至一个新的URL.<c:url>利用可选的查询参数来创造一个URL

格式化标签

JSTL格式化标签用来格式化并输出文本、日期、韶光、数字。
引用格式化标签库的语法如下:

<%@ taglib prefix=\"大众fmt\"大众

uri=\公众http://java.sun.com/jsp/jstl/fmt\"大众 %>

标签描述<fmt:formatNumber>利用指定的格式或精度格式化数字<fmt:parseNumber>解析一个代表着数字,货币或百分比的字符串<fmt:formatDate>利用指定的风格或模式格式化日期和韶光<fmt:parseDate>解析一个代表着日期或韶光的字符串<fmt:bundle>绑定资源<fmt:setLocale>指定地区<fmt:setBundle>绑定资源<fmt:timeZone>指定时区<fmt:setTimeZone>指定时区<fmt:message>显示资源配置文件信息<fmt:requestEncoding>设置request的字符编码

SQL标签

JSTL SQL标签库供应了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。
引用SQL标签库的语法如下:

<%@ taglib prefix=\"大众sql\"大众

uri=\"大众http://java.sun.com/jsp/jstl/sql\"大众 %>

标签描述<sql:setDataSource>指天命据源<sql:query>运行SQL查询语句<sql:update>运行SQL更新语句<sql:param>将SQL语句中的参数设为指定值<sql:dateParam>将SQL语句中的日期参数设为指定的java.util.Date 工具值<sql:transaction>在共享数据库连接中供应嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML 标签

JSTL XML标签库供应了创建和操作XML文档的标签。
引用XML标签库的语法如下:

<%@ taglib prefix=\"大众x\"大众

uri=\"大众http://java.sun.com/jsp/jstl/xml\"大众 %>

在利用xml标签前,你必须将XML 和 XPath 的干系包拷贝至你的<Tomcat 安装目录>\lib下:

XercesImpl.jar

下载地址: http://www.apache.org/dist/xerces/j/

xalan.jar

下载地址: http://xml.apache.org/xalan-j/index.html

标签描述<x:out>与<%= ... >,类似,不过只用于XPath表达式<x:parse>解析 XML 数据<x:set>设置XPath表达式<x:if>判断XPath表达式,若为真,则实行本体中的内容,否则跳过本体<x:forEach>迭代XML文档中的节点<x:choose><x:when>和<x:otherwise>的父标签<x:when><x:choose>的子标签,用来进行条件判断<x:otherwise><x:choose>的子标签,当<x:when>判断为false时被实行<x:transform>将XSL转换运用在XML文档中<x:param>与<x:transform>共同利用,用于设置XSL样式表

JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。
引用JSTL函数库的语法如下:

<%@ taglib prefix=\"大众fn\"大众

uri=\"大众http://java.sun.com/jsp/jstl/functions\"大众 %>

函数描述fn:contains()测试输入的字符串是否包含指定的子串fn:containsIgnoreCase()测试输入的字符串是否包含指定的子串,大小写不敏感fn:endsWith()测试输入的字符串是否以指定的后缀结尾fn:escapeXml()跳过可以作为XML标记的字符fn:indexOf()返回指定字符串在输入字符串中涌现的位置fn:join()将数组中的元素合成一个字符串然后输出fn:length()返回字符串长度fn:replace()将输入字符串中指定的位置更换为指定的字符串然后返回fn:split()将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回fn:startsWith()测试输入字符串是否以指定的前缀开始fn:substring()返回字符串的子集fn:substringAfter()返回字符串在指定子串之后的子集fn:substringBefore()返回字符串在指定子串之前的子集fn:toLowerCase()将字符串中的字符转为小写fn:toUpperCase()将字符串中的字符转为大写fn:trim()移除首位的空缺符

如您还有不明白的可以不才面与我留言或是与我磋商QQ群308855039,我们一起飞!