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中:

针对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)的更多相关文章

  1. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  2. JSP标准标签库(JSTL)--JSTL简介与安装

    对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...

  3. JSP 标准标签库JSTL

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...

  4. JSP标准标签库JSTL

    1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...

  5. jsp标准标签库——jstl

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...

  6. JSP标准标签库(JSTL)--XML标签库 x

    ³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理.  XML标 ...

  7. JSP标准标签库(JSTL)--SQL标签库 sql

    了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...

  8. JSP标准标签库(JSTL)--核心标签库 c

    核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...

  9. JSP标准标签库(JSTL)--国际化标签库 fmt

    JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...

  10. JSP标准标签库(JSTL)--函数标签库 fn

    和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...

随机推荐

  1. springmvc 的配置 annotation-config/annotation-drive/ component-scan 区别

    1. <context:annotation-config /> 作用隐式的配置注解的加载类,默认的加载了AutowiredAnnotationBeanPostProcessor(auto ...

  2. R in action读书笔记(22)第十六章 高级图形进阶(下)

    16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...

  3. scss常规用法

    保持sass条理性和可读性的最基本的三个方法:嵌套.导入和注释. 一般情况下,你反复声明一个变量,只有最后一处声明有效且它会覆盖前边的值. $link-color: blue; $link-color ...

  4. Matlab中size、numel、length、fix函数的使用

    size():获取矩阵的行数和列数  (1)s=size(A),      当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size ...

  5. Mac下Eclipse/adb无法调试MX5手机

    前提是环境已经配置好,其他手机可以连接但MX系列不可以 解决方法:打开终端 echo 0x2a45 >> ~/.android/adb_usb.ini adb kill-server ad ...

  6. CREATE DOMAIN - 定义一个新域

    SYNOPSIS CREATE DOMAIN name [AS] data_type [ DEFAULT expression ] [ constraint [ ... ] ] where const ...

  7. dedecms部分文章出现读取附加信息出错的解决办法

    问题: 估计是新版本开发的时候,没有考虑旧版,文章内容为空的新闻,新版不在允许文章内容为空的新闻,这样旧版的内容为空的新闻升级后将无法再编辑. 解决:你可以对如下文件进行如下修改:article_ed ...

  8. GCC编译链接过程

    编译链接过程 代码 #cat main.c #include <stdio.h> int add(int x, int y); int sub(int x, int y); int mul ...

  9. cc.Node—坐标系统

    cc.Vec21: cc.Vec2 二维向量坐标, 表结构{x: 120, y: 120}; cc.v2(x, y) 创建一个二维向量 cc.p() 创建一个二外向量;2: cc.pSub: 向量相减 ...

  10. 服务器端编程心得(二)—— Reactor模式

    最近一直在看游双的<高性能linux服务器编程>一书,下载链接: http://download.csdn.net/detail/analogous_love/9673008 书上是这么介 ...