JSP标准标签库(JSTL)
JSTL:JSP Standard Tag Library:JSP标准标签库
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/standard-tag-library.html:
JSP标准标签库(JSTL)是一组有效的JSP标签,它封装了很多JSP应用程序的核心功能。
JSTL支持普通、结构任务,如迭代和条件,操作XML文件标签,国际化标签,和SQL标签。它也提供了一个整合现有JSTL标签和自定义标签的框架。
JSTL标签根据它们的功能进行分类,划分到JSTL标签库中,当创建一个JSP页面时,可以使用这些标签:
核心标签库
格式标签库
SQL标签库
XML标签库
- JSTL函数标签库
一、安装JSTL标签库
如果使用的是Apache Tomcat容器,然后遵循以下两个简单的步骤:
从Apache Standard Taglib,下载JAR包。
- 复制JAR文件到应用程序的webapps\ROOT\WEB-INF\lib目录中。如果是Eclipse项目的,复制到lib文件夹中。
为了使用所有的库,必须在要使用该库的每个JSP页面的头部中引入指令。
针对POM项目,可以有如下依赖:
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-jstlel -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-jstlel</artifactId>
<version>1.2.5</version>
</dependency>
说明:第一个依赖是javax对jstl的接口以及apache对这些接口的实现。第二个是apache对el语言的实现,并且包含了javax接口的依赖。
POM的第二种选择:
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
说明:一个包包含了javax的接口以及jstl的实现和el语言的实现。不过版本只停留在1.2版本。
二、核心标签库
核心标签库是被广泛使用的JSTL标签库。下面是在JSP页面中引入核心标签库时需要使用的指令:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
接下来的是核心标签库的标签:
| 标签 | 描述 |
|---|---|
| <c:out > | 类似于java表达式,但是表达式。 |
| <c:set > | 在某个范围内设置表达式的值。 |
| <c:remove > | 删除一个域变量(从一个特殊的被指定的范围)。 |
| <c:catch> | 抛出任何发生在它的主体中的异常,并且有选择的公开它。 |
| <c:if> | 简单的条件标签,如果提供的条件是true,则执行标签体的内容。 |
| <c:choose> | 简单的条件标签,用标签和建立一个互斥条件操作的上下文。 |
| <c:when> | 的子标签,如果它的条件为“true”,则运行标签体的内容。 |
| <c:otherwise > | 的子标签,它出现在标签之后,只有当先前的条件结果为“false”运行它。 |
| <c:import> | 检索绝对或相对的URL并且显示它的内容到其他的页面,在“var”中的一个String类型,或者在“varReader”中的一个Reader类型。 |
| <c:forEach > | 基本的迭代标签,接受多种不同的集合类型,支持子集和其他的功能。 |
| <c:forTokens> | 迭代使用分隔符,分隔提供的定界符。 |
| <c:param> | 添加一个参数到包含“import”标签的URL。 |
| <c:redirect > | 重新定向到的一个新的URL。 |
| <c:url> | 创建一个带有选项查询参数的URL。 |
标签详解:http://www.cnblogs.com/EasonJim/p/6958979.html
三、格式标签库
JSTL的格式标签库是用于格式化和显示国际化网址的文本、日期、时间和数字。下面是在JSP页面中引入格式标签库时需要使用的指令:
<%@ 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> | 设置请求中字符的编码格式。 |
标签详解:http://www.cnblogs.com/EasonJim/p/6958983.html
四、SQL标签库
JSTL的SQL标签库提供了标签给交互的关系数据库(RDBMSs)如Oracle、mySQL或Microsoft SQL Server。
下面是在JSP页面中引入格式标签库时需要使用的指令:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
接下来的是格式标签库的标签:
| 标签 | 描述 |
|---|---|
| <sql:setDataSource> | 创建一个简单的只适合原型的数据源。 |
| <sql:query> | 在它的标签体中或通过SQL属性,执行定义的SQL查询操作。 |
| <sql:update> | 在它的标签体中或通过SQL属性,执行定义的SQL更新操作。 |
| <sql:param> | 将SQL语句中的一个参数设置为指定的值。 |
| <sql:dateParam> | 将SQL语句中的一个参数设置为指定的java.util.Date值。 |
| <sql:transaction> | 为嵌套数据库操作元素提供了一个共享连接,建立执行所有语句组成一个事务。 |
标签详解:http://www.cnblogs.com/EasonJim/p/6958986.html
五、XML标签库
JSTL的XML标签库提供了创建和操纵XML文档的JSP-centric方式。下面是在JSP页面中引入XML标签库时需要使用的指令:
对于交互的XML数据,JSTL的XML标签库有自定义标签。它包括解析XML、转换XML数据和基于XPath语言表达式的流程控制。
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
在处理这个例子之前,应该需要复制以下两个XML和XPath相关的库到\lib中:
XercesImpl.jar: 从http://www.apache.org/dist/xerces/j/下载
- xalan.jar: 从http://xml.apache.org/xalan-j/index.html下载
针对POM项目,可以有如下依赖:
<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/xalan/xalan -->
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
</dependency>
接下来的是格式标签库的标签:
| 标签 | 描述 |
|---|---|
| <x:out> | 类似于java表达式 ,但是XPath表达式。 |
| <x:parse> | 要么通过属性要么在标签体中,用于解析特定的XML数据。 |
| <x:set> | 设置XPath表达式的变量值。 |
| <x:if> | 计算测试的XPath表达式,如果它是true,就执行它的标签体中的内容。如果测试条件是false,忽略这个标签体中内容。 |
| <x:forEach> | 在XML文件中循环顶点。 |
| <x:choose> | 简单的条件标签,用标签和建立一个互斥条件操作的上下文。 |
| <x:when> | 的子标签,如果它的条件为“true”,则运行标签体的内容。 |
| <x:otherwise> | 的子标签,它出现在标签之后,只有当先前的条件结果为“false”运行它。 |
| <x:transform> | 应用一个 XSL 转换到一个XML文件中。 |
| <x:param> | 在XSLT样式表中使用转换标签设置参数。 |
标签详解:http://www.cnblogs.com/EasonJim/p/6958988.html
六、JSTL函数标签库
JSTL函数标签库包含了大量的标准函数,其中大多数都是御用字符串处理的函数。下面是在JSP页面中引入JSTL函数标签库时需要使用的指令:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
接下来的是JSTL函数标签库的标签:
| 函数 | 描述 |
|---|---|
| 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() | 去除字符串两端的空格 |
标签详解:http://www.cnblogs.com/EasonJim/p/6958989.html
测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test17/jstl
JSP标准标签库(JSTL)的更多相关文章
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- JSP标准标签库(JSTL)--JSTL简介与安装
对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...
- JSP 标准标签库JSTL
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP标准标签库JSTL
1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...
- jsp标准标签库——jstl
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP标准标签库(JSTL)--XML标签库 x
³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理. XML标 ...
- JSP标准标签库(JSTL)--SQL标签库 sql
了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
- JSP标准标签库(JSTL)--国际化标签库 fmt
JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...
- JSP标准标签库(JSTL)--函数标签库 fn
和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...
随机推荐
- 使用Kotlin,抛弃findViewById
有没有觉得Android的findViewById挺烦人的.使用Kotlin可以让你彻底抛弃这个烦恼 步骤1.在build.gradle(Module:app)中添加如下一句话 这个在老一点版本的An ...
- Bmob使用心得
1.在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址,示例如下:(注意文字说明部分): allprojects { repositories { jcente ...
- 内存管理总结-autoreleasePool
转自其他 序言 无论是在MRC时期还是ARC时期,做过开发的程序员都接触过autoreleasepool.尽管接触过但本人对它还不是很了解.本文只是将自己的理解说出来.在内存管理的文章中提到了OC的内 ...
- select * from a, b的意思
其结果中总记录数为a表记录数乘以b表记录数,a的每条记录都会重复列出b记录总数次 很多晦涩的sql都要通过测试具体的数据来理解
- 番茄花园Ghost Win10系统X64位10041装机版2015年4月
转载:系统妈,系统下载地址:http://www.xitongma.com/windows10/2015-04-01/6639.html 番茄花园Ghost Win10系统X64位10041装机版20 ...
- dll、lib(动态链接库、静态链接库)的区别
1.dll:dynamic link library: lib:static link library. 2.windows系统中,许多app并不是仅由一个完整的exe构成,而是按功能分成了若干部分, ...
- git 出现 The current branch is not configured for pull No value for key branch.master.merge found in configuration
以下是我在网上找到的不错的文章,我参考后已解决我的问题: http://my.oschina.net/robinsonlu/blog/144085 http://www.cnblogs.com/zha ...
- 第一节、ES6的开发环境搭建
https://blog.csdn.net/zls986992484/article/details/70819462 下面这个不好使 https://blog.csdn.net/gao5311624 ...
- 为了安全请不要随意在页面中设置validateRequest="false"
为了安全请不要随意在页面中设置validateRequest="false" 分类: ASP.NET2009-04-12 17:24 531人阅读 评论(0) 收藏 举报 asp. ...
- vue hash模式和404页面的配置
1.设置我们的路由配置文件(/src/router/index.js): { path:'*', component:Error } 这里的path:’*’就是找不到页面时的配置,component是 ...