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 ...
随机推荐
- php判断是否引入某文件
Code: /* 判断是否引入了公共文件demo.php */ $include_files = get_included_files(); $include_files_exist = 0 ; fo ...
- [转]Git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
- CSS——BFC
http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html 元素若不是bfc,那么内部浮动元素的高度不参与计算 元素若不是bf ...
- CREATE CONSTRAINT TRIGGER - 定义一个新的约束触发器
SYNOPSIS CREATE CONSTRAINT TRIGGER name AFTER events ON tablename constraint attributes FOR EACH ROW ...
- React和webpack解决 waiting for roots to load...to reload the inspector
使用chrome调试工具,react-devtools总是显示 "waiting for roots to load...to reload the inspector" and ...
- viewDidLoad等相关函数调用
viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用.viewDidLoad用于初始化,加载时用到的. loadView 此方法在控制器的view为nil的时候被调用.虽然经常 ...
- Kafka Broker配置
Kafka发行包里自带的配置样本可以用来安装单机服务,但并不能满足大多数安装场景的要求.kafka有很多配置选项,Kafka有很多配置选项,涉及安装和调优的方方面面.不过大多数调优选项可以使用默认配置 ...
- CF1065D Three Pieces
题目描述:给出一个n*n的棋盘,棋盘上每个格子有一个值.你有一个子,要求将这个子从1移到n*n(去k时可以经过比k大的点). 开局时它可以作为车,马,相(国际象棋).每走一步耗费时间1.你也可以中途将 ...
- c++基础_特殊回文数
#include <iostream> using namespace std; int main(){ int n; cin>>n; ;i<;i++){ int tem ...
- LINUX:Contos7.0 / 7.2 LAMP+R 下载安装Mysql篇
文章来源:http://www.cnblogs.com/hello-tl/p/7569097.html 更新时间:2017-09-21 16:06 简介 LAMP+R指Linux+Apache+Mys ...