一、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 : 返回集合中元素的数目,或者字符串中字符的数目