JSP标准标签库(JSTL)

时间:2022-11-01 23:33:31

一、JSTL标签库

JSTL标签库
功能范围 URI 前缀
core http://java.sun.com/jsp/jstl/core c
I18N http://java.sun.com/jsp/jstl/fmt fmt
SQL http://java.sun.com/jsp/jstl/sql sql
XML http://java.sun.com/jsp/jstl/xml x
Functions http://java.sun.com/jsp/jstl/functions m

二、Core标签库

1、一般用途的标签

(1)<c:out></c:out>:用于计算一个表达式并将结果输出当前的JspWriter对象

(2)<c:set></c:set>:用于设置范围变量的值或者JavaBean对象的属性

(3)<c:remove></c:remove>:用于移除范围变量

(4)<c:catch></c:catch>:用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中

2、条件标签

(1)<c:if></c:if>:用于实现Java语言中if语句的功能

(2)<c:choose></c:choose>:功能类似于Java中的if/else if

(3)<c:when></c:when>:表示一个可选的条件

(4)<c:otherwise></c:otherwise>:表示最后的选择

3、迭代标签

(1)<c:forEach></c:forEach>:用于对包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数

(2)<c:forTokens></c:forTokens>:用于迭代字符串中由分隔符分隔的各个成员

4、URL相关的标签

(1)<c:import></c:import>:用于导入一个基于URL的资源

(2)<c:url></c:url>:使用正确的URL重写规则构造一个URL

(3)<c:redirect></c:redirect>:将客户端的请求重定向到了另一个资源

(4)<c:param></c:param>:为一个URL添加请求参数

三、I18N标签库

1、国际化标签

(1)<fmt:setLocale></fmt:setLocale>:用于设置用户的本地语言环境,并指定的Locale保存到javax.servlet.jsp.jstl.fmt.locale配置变量中

(2)<fmt:bundle></fmt:bundle>:用于创建它的标签体使用的I18N本地上下文环境

(3)<fmt:setBundle></fmt:setBundle>:用于创建一个I18N本地上下文环境,将它保存到范围变量中或保存到javax.servlet.jsp.jstl.fmt.localizationContext配置变量中

(4)<fmt:message></fmt:message>:从资源包中查找一个指定键的值,用于显示本地化的消息

(5)<fmt:param></fmt:param>:提供一个参数,用于在<fmt:message>中做参数置换

(6)<fmt:requestEncoding></fmt:requestEncoding>:设置请求的字符编码

2、格式化标签

(1)<fmt:timeZone></fmt:timeZone>:用于指定时区,其标签体的时间信息将按照这个时区进行格式化或者解析

(2)<fmt:setTimeZone></fmt:setTimeZone>:用于指定时区,并将它保存到范围变量中,或保存到javax.servlet.jsp.jstl.fmt.timeZone配置变量中

(3)<fmt:formatNumber></fmt:formatNumber>:按照区域或者定制的方式将数字的值格式化为数字、货币或者百分数

(4)<fmt:parseNumber></fmt:parseNumber>:用于将已经格式化后的字符串形式的数字、货币和百分数转换为数字类型

(5)<fmt:formatDate></fmt:formatDate>:按照区域或者定制的方式对日期和时间进行格式化

(6)<fmt:parseDate></fmt:parseDate>:用于将已经格式化后的字符串形式的日期和时间转换为日期类型

四、SQL标签库

(1)<sql:setDataSource></sql:setDataSource>:用于设置数据源

(2)<sql:query></sql:query>:用于对数据库进行查询

(3)<sql:param></sql:param>:用于设置SQL语句中标记为问号(?)的参数的值

(4)<sql:dateParam></sql:dateParam>:用java.util.Date类型的值设置SQL语句中标签为问号(?)的参数

(5)<sql:update></sql:update>:用于执行insert、update或者delete语句,还可以用于执行SQL DDL语句

(6)<sql:transaction></sql:transaction>:用于为<sql:query>和<sql:update>子标签建立事务处理上下文

五、XML标签库

1、核心操作

(1)<x:parse></x:parse>:用于解析XML文档

(2)<x:out></x:out>:计算一个XPath表达式,并将计算的结果输出到当前的JspWriter对象

(3)<x:set></x:set>:计算一个XPath表达式,并将计算的结果保存到一个范围变量中

2、流程控制

(1)<x:if></x:if>:计算在select属性中指定的XPath表达式,如果计算结果为true,则执行标签体的内容

(2)<x:choose></x:choose>:<x:choose>,<x:when>和<x:otherwise>一起实现互斥条件的执行

(3)<x:when></x:when>:作为<x:choose>的子标签,表示一个可选的条件

(4)<x:otherwise></x:otherwise>:作为<x:choose>的子标签,表示最后的选择

(5)<x:forEach></x:forEach>:计算一个给定的XPath表达式,依据计算的结果重复执行它的标签体

3、转化操作

(1)<x:transform></x:transform>:使用指定的XSLT样式表转换XML文档

(2)<x:param></x:param>:设置转换的参数,在<x:transform>标签中嵌套使用

六、Functions标签库

(1)fn:contains : 判断一个字符串是否包含了指定的子串

(2)fn:containsIgnoreCase : 判断一个字符串是否包含了指定的子串,忽略大小写

(3)fn:startsWith : 判断一个字符串是否以指定的前缀字符串开头

(4)fn:endsWith : 判断一个字符串是否以指定的后缀字符串结尾

(5)fn:indexOf : 在一个字符串中查找指定的子串,并返回最先匹配的字符串的第一个字符的索引位置

(6)fn:replace : 将一个字符串中的某一部分替换为另外的字符串,并返回替换后的结果

(7)fn:substring : 截取字符串中的某一部分

(8)fn:substringBefore : 返回一个字符串中指定子串之前的字符串

(9)fn:substringAfter : 返回一个字符串中指定子串之后的字符串

(10)fn:split : 将一个字符串拆分为字符串数组

(11)fn:join : 将数组中所有的元素连接为一个字符串

(12)fn:toLowerCase : 将字符串中所有的字符都转化成小写字母

(13)fn:toUpperCase : 将字符串中所有的字符都转化成大写字母

(14)fn:trim : 去掉字符串前后的空白

(15)fn:escapeXml : 将字符串中的字符“<”、“>”、“'”、“"”和“&”转换为对应的字符引用或预定义实体引用

(16)fn:length : 返回集合中元素的数目,或者字符串中字符的数目