第 7章 JSTL与标签函数库
JSP 动态网页新技术 1
JSTL 标签
JSTL 标签种类 说 明核心标签 包含 JSTL核心操作所需的标签,例如数据输出、循环流程控制以及 URL操作等
i18n国际化格式标签 进行数值与日期数据格式化、国际化资源网页设定所需的标签
SQL标签 运用 SQL与操作资库所需的标签
XML标签 剖析 XML文件所需的标签函数标签 包含字符串处理与其它特定功能之 JSTL标签第 7章 JSTL与标签函数库
JSP 动态网页新技术 2
JSTL运行环境
JSTL需要两个文件,jstl.jar和 standard.jar,将其复制到 Tomcat网站根目录下的文件夹 WEB-INF\lib当中,重新启动 Tomcat。
使用 JSTL之前,必须 引用 taglib指令 声明网页 所要使用的 标签种类 。
<%@taglib prefix=tabName uri=uriString %>
– prefix代表 标签种类 的 前缀词
– uri代表 标签 的 URI
第 7章 JSTL与标签函数库
JSP 动态网页新技术 3
标签前缀词 以及 uri
JSTL 标签种类 前 缀 词 uri
核心标签 c http://java.sun.com/jsp/jstl/core
i18n国际化格式标签
fmt http://java.sun.com/jsp/jstl/fmt
SQL标签 sql http://java.sun.com/jsp/jstl/sql
XML标签 xml http://java.sun.com/jsp/jstl/xml
函数标签 fn http://java.sun.com/jsp/jstl/functions
第 7章 JSTL与标签函数库
JSP 动态网页新技术 4
JSTL 核心 标签分 类 标 签 说 明一般行为 out 将指定的数据内容输出至网页上
set 将特定的数据内容储存至指定变量
remove 移除指定变量的数据内容
catch 补捉程序例外
URL处理 import 载入外部文件
url 设定一个超级链接地址
redirect 转向网页
param 设定地址参数流程控制 if if流程判断式
When/otherwis
e/choose
多重选择判断式循环 forEach 对象集合迭代列举操作
forTaokens 解释以标记符号分隔字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 5
<c:out>
语法 1:未包含 主体 (body)
<c:out value= "value" [escapeXml= "{true|false}"]
[default= "defaultValue"] />
语法 2:包含 主体 (body)
<c:out value= "value" [escapeXml= "{true|false}"]>
default value
</c:out>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 6
<c:out> 属性设定属 性 动 态 类 型 说 明
value 是 Object 输出的内容
escapeXml 是 boolean 是否转换特殊字符
default 是 Object 当输出结果为 null,指定默认值第 7章 JSTL与标签函数库
JSP 动态网页新技术 7
escapeXml
escapeXml用来指定是否转换特殊字符,<c:out>在默认的情形下,会将某些特殊字符,例如 <,>,& 等等 。
字 符 Entity Code
< <
> >
& &
' '
" "
第 7章 JSTL与标签函数库
JSP 动态网页新技术 8
<c:set>
语法 1,将 value值储存至范围变量 varName
<c:set value="value" var="varName"
[scope="{page|request|session|application}"]/>
语法 2,将本体 (body)内容设定储存至范围变量 varName
<c:set var="varName" [scope="{page|request|session|application}"]>
body content
</c:set>
语法 3,将 value值储存至目标对象 target的属性 propertyName
<c:set value="value" target="target" property="propertyName"/>
语法 4:将本体 (body)内容储存至目标对象 target的属性 propertyName
<c:set target="target" property="propertyName">
body content
</c:set>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 9
<c:set>属性设定属 性 动 态 类 型 说 明
value 是 Object 设定值
var 否 String 储存设定值的变量名称
scope 否 String var的范围
target 是 Object 属性将被设定的目标对象
property 是 String 目标对象的属性第 7章 JSTL与标签函数库
JSP 动态网页新技术 10
<c:remove>
用来 移除某 个范围变量 的內容值
<c:remove
var="varName"
[scope=
"{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 11
<c:catch>
<c:catch>标签可以用来取得错误的信息,同时进行适当的处理,
避免网页出现无法理解的内容 。
<c:catch [var=”varName”]>
nested actions
</c:catch>
nested actions为某一段可能发生错误的网页内容,var用来储存错误发生时,与错误有关的信息内容。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 12
建立 URL
<c:url>标签在 JSP网页动态 指定 一个网址字符串 。
语法 1,无本体内容
<c:url value="value" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]/>
语法 2,在本体内容指定数字符串
<c:url value="value" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]>
<c:param> subtags
</c:url>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 13
URL属性属 性 动态 类 型 说 明
value 是 String 指定操作的 URL
context 是 String 网站外部内容的设定值,一个 URL资源的相对位置
var 否 String 输出的范围变量名称
scope 否 String var的 范围 。
value代表所要设定的网页资源位置 。
context用来指定一个外部资源 。
var代表一个变量,如果有指定,URL资源的内容将被输出至指定的变量
scope则是变量的范围,var变量只在这个范围里面有效 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 14
<c:param>
语法 1:將 属性 值指定給 value属性
<c:param name="name" value="value"/>
语法 2:將 属性 值指定給 本体 內容
<c:param name="name">
parameter value
</c:param>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 15
<c:param>属性
name属性必须 有值,否则标签将不会 有任何 操作 。
属 性 动态类 型 说 明
name 是 String 参数名称
value 是 String 参数值第 7章 JSTL与标签函数库
JSP 动态网页新技术 16
使用 <c:param>
<c:param>标签 放在 <c:url> 本体 內容 当中,可用 来设定连接 所要传递 的 参数 內容:
<c:url value=urlstring >
<c:param name="firstPara"
value="123456" />
</c:url>
<c:param>所指定的参数值 firstPara,与 URL字符串一同被送出:
urlstring? FirstPara=123456
第 7章 JSTL与标签函数库
JSP 动态网页新技术 17
<c:import>
语法 1:载入数据内容直接嵌入标签或是输出成为 String对象
<c:import url="url" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]
[charEncoding="charEncoding"]>
optional body content for <c:param> subtags
</c:import>
语法 2:载入数据内容直接输出成 Reader对象
<c:import url= "url" [context="context"]
varReader="varReaderName"
[charEncoding="charEncoding"]>
body content where varReader is consumed by another action
</c:import>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 18
<c:import>属性属 性 动态类 型 说 明
url 是 String 载入资源的 URL
context 是 String 网站外部内容的设定值
var 否 String 输出的范围变量名称
scope 否 String var的范围
charEncoding 是 String 载入文件的字符编码
varReader 否 String 输出的 Reader对象名称
url代表外部 资源 所在位置的 相对 或是 绝对 URL。
null或是空值都 将产生一个 JspException例外。
url其他的 属性 都可以省略。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 19
重新定向
语法 1,无主体 (body)内容
<c:redirect url="value" [context="context"]/>
语法 2,指定搜寻字符串参数的主体内容
<c:redirect url="value" [context="context"]/>
<c:param> subtags
</c:redirect>
url参数代表所要转向的 URL地址,当你在网页当中设定
<c:redirect>标签,并且指定其 url参数,网页运行后,将转向此 url
所代表的目标地址 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 20
流程控制
核心标签中的 if,choose和 when,提供相当于程序语言流程控制的功能 。
<c:if>与 Java中的 if语句相同 。
<c:choose>则被运用于需要进行多重判断的场合,它本身是一个框架,判断内容则由 <c:when>和 <c:otherwise>两个标签完成 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 21
<c:if>
语法 1,无本体内容
<c:if test="testCondition"
var="varName" [scope="{page|request|session|application}"]/>
语法 2,包含本体内容
<c:if test="testCondition"
[var="varName"] [scope="{page|request|session|application}"]>
body content
</c:if>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 22
<c:if>属性属 性 动态类 型 说 明
test 是 boolean 载入资源的 URL
var 否 String 输出判断结果的范围变量名称
scope 否 String var的范围
test 是最重要的 属性,为标签 的 条件判断式 。
var用 来储存判断式 的 输出 結果第 7章 JSTL与标签函数库
JSP 动态网页新技术 23
<c:choose>,<when>与 <otherwise>
语法 - <c:choose>
<c:choose>
body content (<when> and <otherwise> subtags)
</c:choose>
– <when>与 <otherwise>构成 <c:choose>标签 內容 区块 。
语法 - <c,when >
<c:when test="testCondition">
body content
</c:when>
语法 - <c,otherwise >
<c:otherwise>
conditional block
</c:otherwise>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 24
<c:forEach>
语法 1,迭代对象集合内容。
<c:forEach[var="varName"] items="collection"
[varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forEach>
语法 2,迭代特定次数。
<c:forEach [var="varName"] [varStatus="varStatusName"]
begin="begin" end="end" [step="step"]>
body content
</c:forEach>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 25
<c:forEach>属性属 性 动态类 型 说 明
var 否 String 储存指定的迭代成员
items 是 集合对象迭代的集合对象
varStatus 否 String 储存指定迭代成员的状态内容
begin 是 int 迭代的开始值
end 是 int 迭代的结束值
step 是 int 每次迭代的间隔值第 7章 JSTL与标签函数库
JSP 动态网页新技术 26
<c:forEach>属性
var用来指定网页当中所要迭代的对象 。
items则是每一次迭代所取得的对象内容 。
varStatus为目前对象的相关内容信息 。
begin,end以及 step则是相关的属性,分别代表迭代的开始、结束以及区间,这三个值相互影响,设定不正确可能导致程序流程的运行错误 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 27
<c:forTaokens >
<c:forTaokens >标签主要针对字符串类型的数据作设计,它可以解析一段字符串当中,以特定符号所分隔的字符串成员 。
<c:forTokens items="stringOfTokens" delims="delimiters"
[var="varName"]
[varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forTokens>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 28
I18n 与国际化分 类 标 签 说 明国际化设定 setLocale 设定所使用的语言文化区域
requestEncodin
g
指定编码方式资源文件系结
bundle 指定所要使用的资源文件名称
setBundle 设定预设的资源文件
message 取得资源文件的内容数字日期格式
timeZone 转换时区格式
setTimeZone 储存时区信息
formatNumber 格式化数值
parseNumber 解释特定数值格式
formatDate 格式化日期
parseDate 解释特定日期格式第 7章 JSTL与标签函数库
JSP 动态网页新技术 29
设定区域 -<fmt:setLocale>
<fmt:setLocale value="locale" [variant="variant"]
[scope="{page|request|session|application}"]/>
value属性是使用 <fmt:setLocale>标签唯一不可省略的属性项目,它代表此标签所要指定的区域代号 。
value由两个小写字母所组成的语言代码 (例如 zh)所表示,另外,它还可以加上同样由两个字母所组成的国家代码,这两者之间以 -或是 _
作连接。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 30
指定编码 -<fmt:requestEncoding>
<fmt:requestEncoding [value="charsetName"]/>
value属性代表所要指定的编码方式字符串,例如设为 GB2312可以让网页正确的处理中文乱码的问题。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 31
存取 i18n 区域化 內容
支持国际间不同文化区域语系的网页功能,是通过提供其关联的资源文件来达到目的 。
<fmt:bundle>用来指定所要使用的资源文件名称 。
< fmt:setBundle >设定默认的资源文件,当指定的资源文件不存在时,直接套用默认的资源文件 。
<fmt:message>用来取得资源文件的内容,将其显示在网页上 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 32
I18n国际化网页国 际 化 设 定
J S P 网 页建 立 资 源文 件內 容 网 页
B
英 文 化资 源 文 件
( e n _ g b )
x x x _ e n _ G B,p r o p e r t i e s
英 文 系 区 域 连 线中 文 系 区 域 连 线网 络请 求 网 页请 求 网 页返 回 中 文本 內 容返 回 英 语 版 本內 容判 断 來 自 中 文 系区 域 的 用 户取 得 中 文 资 源 文件 建 立 中 文 网 页判 断 來 自 英 文 系区 域 的 用 户取 得 英 文 资 源 文件建 立 英 文 网 页
A
中 文 化资 源 文 件
( t w _ g b )
x x x _ z h _ T W,p r o p e r t i e s
第 7章 JSTL与标签函数库
JSP 动态网页新技术 33
<fmt:bundle>
<fmt:bundle>
<fmt:bundle basename="basename"
[prefix="prefix"]>
body content
</fmt:bundle>
属 性 动态类 型 说 明
basename 是 String 资源文件的名称,不包含文件本身的扩展名
prefix 是 String 指定 <fmt:message>标签当中,key值的预设前缀第 7章 JSTL与标签函数库
JSP 动态网页新技术 34
<fmt,message >
语法 1,无本体内容
<fmt:message key="messageKey" [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]/>
语法 2,包含指定信息参数的本体内容
<fmt:message key="messageKey" [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]>
<fmt:param> subtags
</fmt:message>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 35
<fmt,message >
语法 3,包含指定选择性信息参数与 key值的本体内容
<fmt:message [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]>
key
optional <fmt:param> subtags
</fmt:message>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 36
<fmt,message > 属性属 性 动态类 型 说 明
key 是 String 所要取得的资源文件内容 key值
bundle 是 LocalizationContext 资源文件资料来源
var 否 String 用来储存信息内容的变量名称
scope 否 String 变量 var的有效范围第 7章 JSTL与标签函数库
JSP 动态网页新技术 37
< fmt:setBundle >
<fmt:setBundle basename="basename" var="varName"]
[scope="{page|request|session|application}"]/>
<fmt:setBundle>标签的主要功能,便是用来设定所要读取的预设资源文件,除了 basename,var用以指定变量的名称,此变量储存所要读取的资源文件内容 。
资源文件是一种扩展名为 properties的文本文件,可以利用 notepad等简单的文字编辑器进行编辑,其内容由 键 /值 (key/value)格式的数据所组成
<fmt,message >标签指定所要取得的键,取出对应的值 (value)。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 38
格式化
日期,时间,货币 等 数据,不同的 地区 有不同的 显示 方式。
通过格式化标签的设定,网页当中的数据内容,可以随着不同的 文化区域特性,而改变其显示的数据格式 。
设定时区的 <fmt:timeZone>和 <fmt:setTimeZone> 。
数字 格式化 标签 有 <fmt:formatNumber>和 <fmt:parseNumber>。
日期时间显示 格式 化标签有 <fmt:formatDate>和 <fmt:parseDate>。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 39
设定时区
语法
<fmt:timeZone value="timeZone">
body content
</fmt:timeZone>
– <fmt:timeZone>针对标签当中的本体内容,进行格式化,其唯一的属性是 value,代表使用的时区,使用这个标签,时区设定的影响将只对本体内容有效 。
语法
<fmt:setTimeZone value="timeZone" [var="varName"]
[scope="{page|request|session|application}"]/>
– var属性用来储存时区的设定,当然这个属性是选择性的,而
scopde则是变量的有效范围。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 40
数字 格式化
语法 1,无本体内容
<fmt:formatNumber value="numericValue"
[type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol”]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 41
数字 格式化
语法 2,指定格式化数值的本体内容
<fmt:formatNumber [type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol"]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]>
numeric value to be formatted
</fmt:formatNumber>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 42
<fmt:formatNumber>属性属 性 动态类 型 说 明
value 是 String/
Number
被格式化的数值
var 否 String 储存格式化数值的范围变量
scope 否 String 变量范围
type 是 String 指定数值被格式化成为数字、货币或是百分比形式
pattern 是 String 自定义格式化样式
currencyCode 是 String ISO4217货币代码,搭配格式 (type)作显示,只有设定为货币格式的时候,这个值才有意义
currencySymbol 是 String 货币符号,搭配格式 (type)作显示,只有设定为货币格式的时候,这个值才有意义第 7章 JSTL与标签函数库
JSP 动态网页新技术 43
<fmt:formatNumber>属性属 性 动态类 型 说 明
groupingUsed 是 boolean 指定是否格式化输出包含分隔符
maxIntegerDigits 是 int 格式化输出结果当中,整数字数部份显示的最大位数
minIntegerDigits 是 int 格式化输出结果当中,整数字数部份显示的最小位数
maxFractionDigits 是 int 格式化输出结果当中,整数字数部份显示的最大位数
minFractionDigits 是 int 格式化输出结果当中,整数字数部份显示的最小位数第 7章 JSTL与标签函数库
JSP 动态网页新技术 44
<fmt:formatNumber>属性说明
分别代表所要进行格式处理的数值,储存格式化结果的变量以及可指定变量范围的 scope 。
type指定格式化的 样式,number,currency以及 代表指定的数据将以数值、货币或是百分比的形式进行格式化,pattern则是让用户能够自行指定格式化的样式。
currencyCode与 currencySymbol是用来表示货币数据的专用属性,与 type属性当中的货币 (currecy)格式搭配使用,currencyCode为 ISO4217所规范的货币代码,如美金的 USD、或是大陆人民币的 CNY等等。 currencySymbol则代表货币的显示符号如 $。
groupingUsed指定是否格式化的数字以分隔符作显示 。
maxIntegerDigits,minIntegerDigits,maxFractionDigits和 minFractionDigits,均用以来控制数值的显示位数,前两个指定一个数值当中,最大与最小可显示的位数,
后两个则是指定小数的位数。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 45
<fmt:parseNumber>
语法 1,无本体内容
<fmt:parseNumber value="numericValue"
[type="{number|currency|percent}"]
[pattern="customPattern"]
[parseLocale="parseLocale"]
[integerOnly="{true|false}”]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 46
<fmt:parseNumber>
语法 2,包含本体内容
<fmt:parseNumber [type="{number|currency|percent}"]
[pattern="customPattern"]
[parseLocale="parseLocale"]
[integerOnly="{true|false}"]
[var="varName"]
[scope="{page|request|session|application}"]>
numeric value to be parsed
</fmt:parseNumber>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 47
日期格式化
<fmt:formatDate value="date"[type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 48
<fmt:formatDate>属性属 性 动态类 型 说 明
value 是 java.util.Date 格式化的日期或是时间数据
type 是 String 指定是否格式化日期、时间或是两者
dateStyle 是 String 预先定义的日期格式化样式
timeStyle 是 String 预先定义的时间格式化样式
pattern 是 String 自定义格式化样式
timeZone 是 String/
java.util.TimeZone
显示格式化之时间数据的时区
var 是 String 储存格式化结果的变量
scope 否 String 变量范围第 7章 JSTL与标签函数库
JSP 动态网页新技术 49
函数标签分 类 标 签 说 明字符串比对 contains 查看是否字符串当中包含指定的子字符串
containsIgnore-
Case
在忽略大小写的情形下,检视是否字符串当中包含指定的子字符串
endsWith 查看是否字符串以指定的字尾作结束
startsWith 查看是否字符串以指定的前缀开始
indexOf 返回字符串之间第一个符合指定子字符串的索引值获取子字符串
substring 返回字符串当中指定区域的子字符串
substringAfter 返回字符串当中指定字符串后面的子字符串
substringBefore 返回字符串当中指定字符串之前的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 50
函数标签分 类 标 签 说 明字符串调整 toLowerCase 将字符串中所有的字符转换成为小写
toUpperCase 将字符串中所有的字符转换成为大写
trim 移除字符串两端的空白
replace 以指定的子字符串取代部份字符串
split 分割字符串成为一个字符串数组
join 将一个字符串数组以指定的符号合并成为字符串其它 escapeXml 转换跳脱字符
length 返回字符串的字符数目第 7章 JSTL与标签函数库
JSP 动态网页新技术 51
字符串比对
语法
contains
fn:contains(string,substring)
containsIgnoreCase
fn:containsIgnoreCase(string,substring)
属性参数 类型 说明
string String 函数所要比对的字符串
substring String 用以比对的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 52
字符串比对
语法
endsWith
fn:endsWith(string,suffix) -> boolean
startsWith
fn:startsWith(string,prefix) -> boolean
属性参 数 类 型 说 明
string String 函数所要比对的字符串
Suffix/prefix String 用以比对的前缀或字尾第 7章 JSTL与标签函数库
JSP 动态网页新技术 53
indexOf
indexOf提供取得字符串当中,某个子字符串第一次于其中出现的位置索引,索引值以 0为基础 。
语法
fn:indexOf(string,substring)
第 7章 JSTL与标签函数库
JSP 动态网页新技术 54
获取 子 字符串
语法
fn:substring(string,beginIndex,endIndex)
属性参 数 类 型 说 明
string String 函数所要操作的字符串
beginIndex int 获取子字符串的起始索引值
endIndex int 获取子字符串的结束索引值第 7章 JSTL与标签函数库
JSP 动态网页新技术 55
获取 子 字符串
语法
substringAfter
fn:substringAfter(string,substring)
substringBefore
fn:substringBefore(string,substring)
这 2个语法接受 2个参数,其中第 2个参数为所要比对的子字符串,
其返回值为所获取的子字符串。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 56
字符串调整 -toLowerCase & toUpperCase
语法
toLowerCase
fn:toLowerCase(string) -> String
toUpperCase
fn:toUpperCase (string) -> String
语法
fn:trim(string) -> String
第 7章 JSTL与标签函数库
JSP 动态网页新技术 57
字符串调整 - split & join
语法
split
fn:split(string,delimiters) -> String[]
join
fn:join(array,separator) -> String
第 7章 JSTL与标签函数库
JSP 动态网页新技术 58
字符串调整 -replace
语法
fn:replace(inputString,beforeSubstring,afterSubstring)
属性参 数 类 型 说 明
inputString String 函数所要进行置换操作的字符串
beforeSubstring String 被置换的子字符串
afterSubstring String 要置换的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 59
escapeXml & length
escapeXml用来转换跳脱字符的符号,使其能够不经转换直接输出于网页上 。
fn:escapeXml(string)->String
– scapeXml将指定字符串参数当中的跳脱字符,例如 <,>,& 等等,
转换成为其对应码,效果与 <c:out>标签当中 escapeXml属性设为 true
相同。
Length回传指定字符串当中所包含的字符数目 。
fn:length(input) -> integer
– length函数接受一个 input参数,并且返回其长度。必须注意的是,除了字符串之外,其中的 input也可是一个集合对象,此时其返回的是集合当中的对象数目
JSP 动态网页新技术 1
JSTL 标签
JSTL 标签种类 说 明核心标签 包含 JSTL核心操作所需的标签,例如数据输出、循环流程控制以及 URL操作等
i18n国际化格式标签 进行数值与日期数据格式化、国际化资源网页设定所需的标签
SQL标签 运用 SQL与操作资库所需的标签
XML标签 剖析 XML文件所需的标签函数标签 包含字符串处理与其它特定功能之 JSTL标签第 7章 JSTL与标签函数库
JSP 动态网页新技术 2
JSTL运行环境
JSTL需要两个文件,jstl.jar和 standard.jar,将其复制到 Tomcat网站根目录下的文件夹 WEB-INF\lib当中,重新启动 Tomcat。
使用 JSTL之前,必须 引用 taglib指令 声明网页 所要使用的 标签种类 。
<%@taglib prefix=tabName uri=uriString %>
– prefix代表 标签种类 的 前缀词
– uri代表 标签 的 URI
第 7章 JSTL与标签函数库
JSP 动态网页新技术 3
标签前缀词 以及 uri
JSTL 标签种类 前 缀 词 uri
核心标签 c http://java.sun.com/jsp/jstl/core
i18n国际化格式标签
fmt http://java.sun.com/jsp/jstl/fmt
SQL标签 sql http://java.sun.com/jsp/jstl/sql
XML标签 xml http://java.sun.com/jsp/jstl/xml
函数标签 fn http://java.sun.com/jsp/jstl/functions
第 7章 JSTL与标签函数库
JSP 动态网页新技术 4
JSTL 核心 标签分 类 标 签 说 明一般行为 out 将指定的数据内容输出至网页上
set 将特定的数据内容储存至指定变量
remove 移除指定变量的数据内容
catch 补捉程序例外
URL处理 import 载入外部文件
url 设定一个超级链接地址
redirect 转向网页
param 设定地址参数流程控制 if if流程判断式
When/otherwis
e/choose
多重选择判断式循环 forEach 对象集合迭代列举操作
forTaokens 解释以标记符号分隔字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 5
<c:out>
语法 1:未包含 主体 (body)
<c:out value= "value" [escapeXml= "{true|false}"]
[default= "defaultValue"] />
语法 2:包含 主体 (body)
<c:out value= "value" [escapeXml= "{true|false}"]>
default value
</c:out>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 6
<c:out> 属性设定属 性 动 态 类 型 说 明
value 是 Object 输出的内容
escapeXml 是 boolean 是否转换特殊字符
default 是 Object 当输出结果为 null,指定默认值第 7章 JSTL与标签函数库
JSP 动态网页新技术 7
escapeXml
escapeXml用来指定是否转换特殊字符,<c:out>在默认的情形下,会将某些特殊字符,例如 <,>,& 等等 。
字 符 Entity Code
< <
> >
& &
' '
" "
第 7章 JSTL与标签函数库
JSP 动态网页新技术 8
<c:set>
语法 1,将 value值储存至范围变量 varName
<c:set value="value" var="varName"
[scope="{page|request|session|application}"]/>
语法 2,将本体 (body)内容设定储存至范围变量 varName
<c:set var="varName" [scope="{page|request|session|application}"]>
body content
</c:set>
语法 3,将 value值储存至目标对象 target的属性 propertyName
<c:set value="value" target="target" property="propertyName"/>
语法 4:将本体 (body)内容储存至目标对象 target的属性 propertyName
<c:set target="target" property="propertyName">
body content
</c:set>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 9
<c:set>属性设定属 性 动 态 类 型 说 明
value 是 Object 设定值
var 否 String 储存设定值的变量名称
scope 否 String var的范围
target 是 Object 属性将被设定的目标对象
property 是 String 目标对象的属性第 7章 JSTL与标签函数库
JSP 动态网页新技术 10
<c:remove>
用来 移除某 个范围变量 的內容值
<c:remove
var="varName"
[scope=
"{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 11
<c:catch>
<c:catch>标签可以用来取得错误的信息,同时进行适当的处理,
避免网页出现无法理解的内容 。
<c:catch [var=”varName”]>
nested actions
</c:catch>
nested actions为某一段可能发生错误的网页内容,var用来储存错误发生时,与错误有关的信息内容。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 12
建立 URL
<c:url>标签在 JSP网页动态 指定 一个网址字符串 。
语法 1,无本体内容
<c:url value="value" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]/>
语法 2,在本体内容指定数字符串
<c:url value="value" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]>
<c:param> subtags
</c:url>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 13
URL属性属 性 动态 类 型 说 明
value 是 String 指定操作的 URL
context 是 String 网站外部内容的设定值,一个 URL资源的相对位置
var 否 String 输出的范围变量名称
scope 否 String var的 范围 。
value代表所要设定的网页资源位置 。
context用来指定一个外部资源 。
var代表一个变量,如果有指定,URL资源的内容将被输出至指定的变量
scope则是变量的范围,var变量只在这个范围里面有效 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 14
<c:param>
语法 1:將 属性 值指定給 value属性
<c:param name="name" value="value"/>
语法 2:將 属性 值指定給 本体 內容
<c:param name="name">
parameter value
</c:param>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 15
<c:param>属性
name属性必须 有值,否则标签将不会 有任何 操作 。
属 性 动态类 型 说 明
name 是 String 参数名称
value 是 String 参数值第 7章 JSTL与标签函数库
JSP 动态网页新技术 16
使用 <c:param>
<c:param>标签 放在 <c:url> 本体 內容 当中,可用 来设定连接 所要传递 的 参数 內容:
<c:url value=urlstring >
<c:param name="firstPara"
value="123456" />
</c:url>
<c:param>所指定的参数值 firstPara,与 URL字符串一同被送出:
urlstring? FirstPara=123456
第 7章 JSTL与标签函数库
JSP 动态网页新技术 17
<c:import>
语法 1:载入数据内容直接嵌入标签或是输出成为 String对象
<c:import url="url" [context="context"]
[var="varName"] [scope="{page|request|session|application}"]
[charEncoding="charEncoding"]>
optional body content for <c:param> subtags
</c:import>
语法 2:载入数据内容直接输出成 Reader对象
<c:import url= "url" [context="context"]
varReader="varReaderName"
[charEncoding="charEncoding"]>
body content where varReader is consumed by another action
</c:import>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 18
<c:import>属性属 性 动态类 型 说 明
url 是 String 载入资源的 URL
context 是 String 网站外部内容的设定值
var 否 String 输出的范围变量名称
scope 否 String var的范围
charEncoding 是 String 载入文件的字符编码
varReader 否 String 输出的 Reader对象名称
url代表外部 资源 所在位置的 相对 或是 绝对 URL。
null或是空值都 将产生一个 JspException例外。
url其他的 属性 都可以省略。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 19
重新定向
语法 1,无主体 (body)内容
<c:redirect url="value" [context="context"]/>
语法 2,指定搜寻字符串参数的主体内容
<c:redirect url="value" [context="context"]/>
<c:param> subtags
</c:redirect>
url参数代表所要转向的 URL地址,当你在网页当中设定
<c:redirect>标签,并且指定其 url参数,网页运行后,将转向此 url
所代表的目标地址 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 20
流程控制
核心标签中的 if,choose和 when,提供相当于程序语言流程控制的功能 。
<c:if>与 Java中的 if语句相同 。
<c:choose>则被运用于需要进行多重判断的场合,它本身是一个框架,判断内容则由 <c:when>和 <c:otherwise>两个标签完成 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 21
<c:if>
语法 1,无本体内容
<c:if test="testCondition"
var="varName" [scope="{page|request|session|application}"]/>
语法 2,包含本体内容
<c:if test="testCondition"
[var="varName"] [scope="{page|request|session|application}"]>
body content
</c:if>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 22
<c:if>属性属 性 动态类 型 说 明
test 是 boolean 载入资源的 URL
var 否 String 输出判断结果的范围变量名称
scope 否 String var的范围
test 是最重要的 属性,为标签 的 条件判断式 。
var用 来储存判断式 的 输出 結果第 7章 JSTL与标签函数库
JSP 动态网页新技术 23
<c:choose>,<when>与 <otherwise>
语法 - <c:choose>
<c:choose>
body content (<when> and <otherwise> subtags)
</c:choose>
– <when>与 <otherwise>构成 <c:choose>标签 內容 区块 。
语法 - <c,when >
<c:when test="testCondition">
body content
</c:when>
语法 - <c,otherwise >
<c:otherwise>
conditional block
</c:otherwise>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 24
<c:forEach>
语法 1,迭代对象集合内容。
<c:forEach[var="varName"] items="collection"
[varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forEach>
语法 2,迭代特定次数。
<c:forEach [var="varName"] [varStatus="varStatusName"]
begin="begin" end="end" [step="step"]>
body content
</c:forEach>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 25
<c:forEach>属性属 性 动态类 型 说 明
var 否 String 储存指定的迭代成员
items 是 集合对象迭代的集合对象
varStatus 否 String 储存指定迭代成员的状态内容
begin 是 int 迭代的开始值
end 是 int 迭代的结束值
step 是 int 每次迭代的间隔值第 7章 JSTL与标签函数库
JSP 动态网页新技术 26
<c:forEach>属性
var用来指定网页当中所要迭代的对象 。
items则是每一次迭代所取得的对象内容 。
varStatus为目前对象的相关内容信息 。
begin,end以及 step则是相关的属性,分别代表迭代的开始、结束以及区间,这三个值相互影响,设定不正确可能导致程序流程的运行错误 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 27
<c:forTaokens >
<c:forTaokens >标签主要针对字符串类型的数据作设计,它可以解析一段字符串当中,以特定符号所分隔的字符串成员 。
<c:forTokens items="stringOfTokens" delims="delimiters"
[var="varName"]
[varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forTokens>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 28
I18n 与国际化分 类 标 签 说 明国际化设定 setLocale 设定所使用的语言文化区域
requestEncodin
g
指定编码方式资源文件系结
bundle 指定所要使用的资源文件名称
setBundle 设定预设的资源文件
message 取得资源文件的内容数字日期格式
timeZone 转换时区格式
setTimeZone 储存时区信息
formatNumber 格式化数值
parseNumber 解释特定数值格式
formatDate 格式化日期
parseDate 解释特定日期格式第 7章 JSTL与标签函数库
JSP 动态网页新技术 29
设定区域 -<fmt:setLocale>
<fmt:setLocale value="locale" [variant="variant"]
[scope="{page|request|session|application}"]/>
value属性是使用 <fmt:setLocale>标签唯一不可省略的属性项目,它代表此标签所要指定的区域代号 。
value由两个小写字母所组成的语言代码 (例如 zh)所表示,另外,它还可以加上同样由两个字母所组成的国家代码,这两者之间以 -或是 _
作连接。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 30
指定编码 -<fmt:requestEncoding>
<fmt:requestEncoding [value="charsetName"]/>
value属性代表所要指定的编码方式字符串,例如设为 GB2312可以让网页正确的处理中文乱码的问题。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 31
存取 i18n 区域化 內容
支持国际间不同文化区域语系的网页功能,是通过提供其关联的资源文件来达到目的 。
<fmt:bundle>用来指定所要使用的资源文件名称 。
< fmt:setBundle >设定默认的资源文件,当指定的资源文件不存在时,直接套用默认的资源文件 。
<fmt:message>用来取得资源文件的内容,将其显示在网页上 。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 32
I18n国际化网页国 际 化 设 定
J S P 网 页建 立 资 源文 件內 容 网 页
B
英 文 化资 源 文 件
( e n _ g b )
x x x _ e n _ G B,p r o p e r t i e s
英 文 系 区 域 连 线中 文 系 区 域 连 线网 络请 求 网 页请 求 网 页返 回 中 文本 內 容返 回 英 语 版 本內 容判 断 來 自 中 文 系区 域 的 用 户取 得 中 文 资 源 文件 建 立 中 文 网 页判 断 來 自 英 文 系区 域 的 用 户取 得 英 文 资 源 文件建 立 英 文 网 页
A
中 文 化资 源 文 件
( t w _ g b )
x x x _ z h _ T W,p r o p e r t i e s
第 7章 JSTL与标签函数库
JSP 动态网页新技术 33
<fmt:bundle>
<fmt:bundle>
<fmt:bundle basename="basename"
[prefix="prefix"]>
body content
</fmt:bundle>
属 性 动态类 型 说 明
basename 是 String 资源文件的名称,不包含文件本身的扩展名
prefix 是 String 指定 <fmt:message>标签当中,key值的预设前缀第 7章 JSTL与标签函数库
JSP 动态网页新技术 34
<fmt,message >
语法 1,无本体内容
<fmt:message key="messageKey" [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]/>
语法 2,包含指定信息参数的本体内容
<fmt:message key="messageKey" [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]>
<fmt:param> subtags
</fmt:message>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 35
<fmt,message >
语法 3,包含指定选择性信息参数与 key值的本体内容
<fmt:message [bundle="resourceBundle"]
[var="varName"]
[scope="{page|request|session|application}"]>
key
optional <fmt:param> subtags
</fmt:message>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 36
<fmt,message > 属性属 性 动态类 型 说 明
key 是 String 所要取得的资源文件内容 key值
bundle 是 LocalizationContext 资源文件资料来源
var 否 String 用来储存信息内容的变量名称
scope 否 String 变量 var的有效范围第 7章 JSTL与标签函数库
JSP 动态网页新技术 37
< fmt:setBundle >
<fmt:setBundle basename="basename" var="varName"]
[scope="{page|request|session|application}"]/>
<fmt:setBundle>标签的主要功能,便是用来设定所要读取的预设资源文件,除了 basename,var用以指定变量的名称,此变量储存所要读取的资源文件内容 。
资源文件是一种扩展名为 properties的文本文件,可以利用 notepad等简单的文字编辑器进行编辑,其内容由 键 /值 (key/value)格式的数据所组成
<fmt,message >标签指定所要取得的键,取出对应的值 (value)。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 38
格式化
日期,时间,货币 等 数据,不同的 地区 有不同的 显示 方式。
通过格式化标签的设定,网页当中的数据内容,可以随着不同的 文化区域特性,而改变其显示的数据格式 。
设定时区的 <fmt:timeZone>和 <fmt:setTimeZone> 。
数字 格式化 标签 有 <fmt:formatNumber>和 <fmt:parseNumber>。
日期时间显示 格式 化标签有 <fmt:formatDate>和 <fmt:parseDate>。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 39
设定时区
语法
<fmt:timeZone value="timeZone">
body content
</fmt:timeZone>
– <fmt:timeZone>针对标签当中的本体内容,进行格式化,其唯一的属性是 value,代表使用的时区,使用这个标签,时区设定的影响将只对本体内容有效 。
语法
<fmt:setTimeZone value="timeZone" [var="varName"]
[scope="{page|request|session|application}"]/>
– var属性用来储存时区的设定,当然这个属性是选择性的,而
scopde则是变量的有效范围。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 40
数字 格式化
语法 1,无本体内容
<fmt:formatNumber value="numericValue"
[type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol”]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 41
数字 格式化
语法 2,指定格式化数值的本体内容
<fmt:formatNumber [type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol"]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]>
numeric value to be formatted
</fmt:formatNumber>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 42
<fmt:formatNumber>属性属 性 动态类 型 说 明
value 是 String/
Number
被格式化的数值
var 否 String 储存格式化数值的范围变量
scope 否 String 变量范围
type 是 String 指定数值被格式化成为数字、货币或是百分比形式
pattern 是 String 自定义格式化样式
currencyCode 是 String ISO4217货币代码,搭配格式 (type)作显示,只有设定为货币格式的时候,这个值才有意义
currencySymbol 是 String 货币符号,搭配格式 (type)作显示,只有设定为货币格式的时候,这个值才有意义第 7章 JSTL与标签函数库
JSP 动态网页新技术 43
<fmt:formatNumber>属性属 性 动态类 型 说 明
groupingUsed 是 boolean 指定是否格式化输出包含分隔符
maxIntegerDigits 是 int 格式化输出结果当中,整数字数部份显示的最大位数
minIntegerDigits 是 int 格式化输出结果当中,整数字数部份显示的最小位数
maxFractionDigits 是 int 格式化输出结果当中,整数字数部份显示的最大位数
minFractionDigits 是 int 格式化输出结果当中,整数字数部份显示的最小位数第 7章 JSTL与标签函数库
JSP 动态网页新技术 44
<fmt:formatNumber>属性说明
分别代表所要进行格式处理的数值,储存格式化结果的变量以及可指定变量范围的 scope 。
type指定格式化的 样式,number,currency以及 代表指定的数据将以数值、货币或是百分比的形式进行格式化,pattern则是让用户能够自行指定格式化的样式。
currencyCode与 currencySymbol是用来表示货币数据的专用属性,与 type属性当中的货币 (currecy)格式搭配使用,currencyCode为 ISO4217所规范的货币代码,如美金的 USD、或是大陆人民币的 CNY等等。 currencySymbol则代表货币的显示符号如 $。
groupingUsed指定是否格式化的数字以分隔符作显示 。
maxIntegerDigits,minIntegerDigits,maxFractionDigits和 minFractionDigits,均用以来控制数值的显示位数,前两个指定一个数值当中,最大与最小可显示的位数,
后两个则是指定小数的位数。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 45
<fmt:parseNumber>
语法 1,无本体内容
<fmt:parseNumber value="numericValue"
[type="{number|currency|percent}"]
[pattern="customPattern"]
[parseLocale="parseLocale"]
[integerOnly="{true|false}”]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 46
<fmt:parseNumber>
语法 2,包含本体内容
<fmt:parseNumber [type="{number|currency|percent}"]
[pattern="customPattern"]
[parseLocale="parseLocale"]
[integerOnly="{true|false}"]
[var="varName"]
[scope="{page|request|session|application}"]>
numeric value to be parsed
</fmt:parseNumber>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 47
日期格式化
<fmt:formatDate value="date"[type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[var="varName"]
[scope="{page|request|session|application}"]/>
第 7章 JSTL与标签函数库
JSP 动态网页新技术 48
<fmt:formatDate>属性属 性 动态类 型 说 明
value 是 java.util.Date 格式化的日期或是时间数据
type 是 String 指定是否格式化日期、时间或是两者
dateStyle 是 String 预先定义的日期格式化样式
timeStyle 是 String 预先定义的时间格式化样式
pattern 是 String 自定义格式化样式
timeZone 是 String/
java.util.TimeZone
显示格式化之时间数据的时区
var 是 String 储存格式化结果的变量
scope 否 String 变量范围第 7章 JSTL与标签函数库
JSP 动态网页新技术 49
函数标签分 类 标 签 说 明字符串比对 contains 查看是否字符串当中包含指定的子字符串
containsIgnore-
Case
在忽略大小写的情形下,检视是否字符串当中包含指定的子字符串
endsWith 查看是否字符串以指定的字尾作结束
startsWith 查看是否字符串以指定的前缀开始
indexOf 返回字符串之间第一个符合指定子字符串的索引值获取子字符串
substring 返回字符串当中指定区域的子字符串
substringAfter 返回字符串当中指定字符串后面的子字符串
substringBefore 返回字符串当中指定字符串之前的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 50
函数标签分 类 标 签 说 明字符串调整 toLowerCase 将字符串中所有的字符转换成为小写
toUpperCase 将字符串中所有的字符转换成为大写
trim 移除字符串两端的空白
replace 以指定的子字符串取代部份字符串
split 分割字符串成为一个字符串数组
join 将一个字符串数组以指定的符号合并成为字符串其它 escapeXml 转换跳脱字符
length 返回字符串的字符数目第 7章 JSTL与标签函数库
JSP 动态网页新技术 51
字符串比对
语法
contains
fn:contains(string,substring)
containsIgnoreCase
fn:containsIgnoreCase(string,substring)
属性参数 类型 说明
string String 函数所要比对的字符串
substring String 用以比对的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 52
字符串比对
语法
endsWith
fn:endsWith(string,suffix) -> boolean
startsWith
fn:startsWith(string,prefix) -> boolean
属性参 数 类 型 说 明
string String 函数所要比对的字符串
Suffix/prefix String 用以比对的前缀或字尾第 7章 JSTL与标签函数库
JSP 动态网页新技术 53
indexOf
indexOf提供取得字符串当中,某个子字符串第一次于其中出现的位置索引,索引值以 0为基础 。
语法
fn:indexOf(string,substring)
第 7章 JSTL与标签函数库
JSP 动态网页新技术 54
获取 子 字符串
语法
fn:substring(string,beginIndex,endIndex)
属性参 数 类 型 说 明
string String 函数所要操作的字符串
beginIndex int 获取子字符串的起始索引值
endIndex int 获取子字符串的结束索引值第 7章 JSTL与标签函数库
JSP 动态网页新技术 55
获取 子 字符串
语法
substringAfter
fn:substringAfter(string,substring)
substringBefore
fn:substringBefore(string,substring)
这 2个语法接受 2个参数,其中第 2个参数为所要比对的子字符串,
其返回值为所获取的子字符串。
第 7章 JSTL与标签函数库
JSP 动态网页新技术 56
字符串调整 -toLowerCase & toUpperCase
语法
toLowerCase
fn:toLowerCase(string) -> String
toUpperCase
fn:toUpperCase (string) -> String
语法
fn:trim(string) -> String
第 7章 JSTL与标签函数库
JSP 动态网页新技术 57
字符串调整 - split & join
语法
split
fn:split(string,delimiters) -> String[]
join
fn:join(array,separator) -> String
第 7章 JSTL与标签函数库
JSP 动态网页新技术 58
字符串调整 -replace
语法
fn:replace(inputString,beforeSubstring,afterSubstring)
属性参 数 类 型 说 明
inputString String 函数所要进行置换操作的字符串
beforeSubstring String 被置换的子字符串
afterSubstring String 要置换的子字符串第 7章 JSTL与标签函数库
JSP 动态网页新技术 59
escapeXml & length
escapeXml用来转换跳脱字符的符号,使其能够不经转换直接输出于网页上 。
fn:escapeXml(string)->String
– scapeXml将指定字符串参数当中的跳脱字符,例如 <,>,& 等等,
转换成为其对应码,效果与 <c:out>标签当中 escapeXml属性设为 true
相同。
Length回传指定字符串当中所包含的字符数目 。
fn:length(input) -> integer
– length函数接受一个 input参数,并且返回其长度。必须注意的是,除了字符串之外,其中的 input也可是一个集合对象,此时其返回的是集合当中的对象数目