JSTL(JSP标准标签库)

JSTL JSP 标准标签库)

jstl.jar ----->包含JSTL规范中定义的接口和相关的类 
standard.jar ----->
包含Jalarta小组对JSTL的实现和JSTL5个标签库的TLD文件
使用JSTL要把这两个JAR包复制到%CATALINA_HOME%commonlib目录下或%CATALINA_HOME%sharedlib

JSTL的目标是为了简化JSP页面的设计

JSTL5个不同功能的标签库组成
core 
(一般用途标签、条件标签、跌代标签、URL相关的标签)
一般用途标签:
<c:out> ----->
用于计算一个表达式并将结果输出到当前的JspWriter对象
<c:set> ----->
用于设置范围变量的值或JavaBean对象的值
<c:remove> ----->
移除范围变量
<c:catch> ----->
用于捕获在其中嵌套的操作所抛出的异常对象,并将异常对象信息保存到变量中
把可能抛异常的代码放到<c:catch></c:catch>标签对中
条件标签
<c:if> ----->
用于实现JAVA语句中的IF语句功能
<c:choose> -----><c:if>
的子标签,要和<c:if>一起使用,类似JAVA if else
<c:when> -----><c:choose>
的子标签,要和<c:choose>一起使用,表示一个可选的条件,类似JAVA if else
<c:otherwise> -----><c:choose>
的子标签,要和<c:choose>一起使用,表示最后的选择,类似JAVA if else

迭代标签
<c:forEach> ----->
用于对包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数
<c:forTokens> ----->
用于迭代字符串中由分隔符分隔的各成员

URL相关的标签
<c:import> ----->
用于导入一个基于URL的资源,可以是不同应用中的,甚至可以是其他网站的
<c:url> ----->
使用正确的URL重写规则构造一个URL
<c:redirect> ----->
将客户端的请求重定向到另一个资源
<c:param> ----->
为一个URL添加请求参数
I18N
(国际化标签、格式化标签)
国际化标签
<fmt:setLocale> ----->
用于设定用户本地语言环境,并将指定的Locale保存到javax.servlet.jsp.jstl.fmt.locale环境变量中
<fmt:bundle> ----->
用于创建它的标签体使用的I18N本地上下文环境
<fmt:setBundle> ----->
用于创建一个I18N本地上下文环境,并将它保存到范围变量中或保存到javax.servlet.jsp.jstl.localizationContext配置变量中
<fmt:message> ----->
从资源包中查找一个指定的值,用于显示本地化的消息
<fmt:patam> ----->
提供一个参数,用于<fmt:message>中的参数置换
<fmt:requestEncoding> ----->
设置请求的字符编码

格式化标签
<fmt:timeZone> ----->
用于指定时区,其标签体的时间信息就按照这个时区进行格式化或解析
<fmt:setTimeZone> ----->
用于指定时区,并将它保存到范围变量中,或保存到javax.servlet.jsp.jstl.fmt.timeZone配置变量中
<fmt:formatNumber> ----->
按照区域或定制的方式将数字的值格式化为数字、货币或百分数
<fmt:parseNumber> ----->
用于将已经格式化后的字符串形式的数字、货币和百分数转换为数字类型
<fmt:formatDate> ----->
按照区域或定制的方式对日期和时间进行格式化
<fmt:parseDate> ----->
用于将已经格式化后的字符串形式的日期和时间转换成日期类型
SQL
<sql:setDataSource> ----->
用于设置数据源
<sql:query> ----->
用于对数据库进行查询
<slq:param> ----->
用于设置SQL语句中标记为?的参数值,类似于PreparedStatementsetXXX(),<sql:query><sql:update>的子标签
<sql:dateParam> ----->
java.util.Date类型值设置SQL语句中标签为?的参数,是<sql:query><sql:update>的子标签
<sql:update> ----->
用于执行inserupdatedelete语句,还可以执行SQL DDL语句
<sql:transaction> ----->
用于为<sql:query><sql:update>子标签建立事务处理上下文
XML
XML核心操作、XML流程控制操作、XML转换操作)
如果需要配置Xalan处理器,将xalan,jar复制到%CATALINA_HOME%sharedlib目录下即可

XML核心操作
<x:parse> ----->
用于解析XML文档
<x:out> ----->
计算一个XPath表达式,并将结果输出到当前的JspWirter对象,类似〈%=% or <c:out>
<x:set> ----->
计算一个XPath表达式,并将计算的结果保存到一个范围变量中

XML流程控制操作(类似于Core标签库中的流程控制,不同的是,XML流程控制操作应用的是XPath表达式)
<x:if>
<x:choose>
<x:when>
<x:therwise>
<x:forEach>

XML转换操作
<x:transform> ----->使指定的XSLT样式表转换XML文档
<x:param> ----->设置转换的参数,在<x:transform>中嵌套使用
Funcions
fn:contains ----->判断一个字符串是否还包含了指定的子串
fn:containslgnoreCase ------>判断一个字符串是否包含了指定的子串,忽略大小写
fn:startsWith ------>判断一个字符串是否以指定的前缀字符串开头
fn:endWith ------>判断一个字符串是否以指定的后缀字符串结尾
fn:indexOf ------>在一个字符串中查找子串,并返回最先匹配的字符串的第一个字符的索引
fn:replace ------>将一个字符串中的某一部分替代另外的字符串,并返回替换都的结果
fn:substring ------>截取字符串中的某一部分
fn:substringBefore ------>返回一个字符串中指定子串之前的字符串
fn:substringAfter ------>返回一个字符串中指定子串之后的字符串
fn:split ------>将一个字符串拆分为字符串数组
fn:join ------>将数组中所有的元素连接为一个字符串
fn:toLowerCase ------>将字符串中所有的字符都转换成小写字符
fn:toUpperCase ------>将字符串中所有的字符都转换成大写字符
fn:trim ------>去掉字符串前后的空白符
fn:escapeXml ------>将字符串的字符“〈”、“〉”、“`”,“"”、“&”转换成相对应的字符引用或预定义实体引用
fn:length ------>返回集合中元素的数目,或者字符串中字符的数目
<jsp:useBean />
<jsp:setProperty />
<jsp:forward />
<tom:hello name="Jack"/> -----> Custom Tag
如何使用JSTL
1、复制jstl的jar包(jstl.jar,standard.jar)到/WEB-INF/lib
2、在使用jstl功能的jsp页面中增加指令
<
%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<
%@taglib prefix=“x” uri=“http://java.sun.com/jsp/jstl/xml”%>
<
%@taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt> 
<
%@taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql”%> 
<
%@taglib prefix=“fn”uri=“http://java.sun.com/jsp/jstl/functions”%>

相关文章
相关标签/搜索