jstl标签的用法(二)

fn标签

fn标签更确切的说应该叫做fn函数,主要用于el表达式中,使用时需要在页面中引入:

<%@ taglib uri="/WEB-INF/tld/fn.tld" prefix="fn"%>

JSP2.0规范下出现的Functions标签共有16个。

1.fn:length 长度函数

作用:计算集合的长度;返回值是集合的长度。

例子:

  1. ${fn:length(userList)}
  2. ${fn:length(array)}

2.fn:contains 判断包含函数

作用:用于判断一个字符串是否包含子字符串;返回值是true或false。

例子:

  1. ${fn:contains("ABC","A")}//返回true
  2. ${fn:contains("ABCDDEF","dd")}//返回false
3.fn:containsIgnoreCase 忽略大小写的判断包含函数

作用:用于判断一个字符串是否包含忽略大小写的子字符串;与fn:contains类似,区别是忽略大小写。

例子:

  1. ${fn:contains("ABC","A")}//返回true
  2. ${fn:contains("ABCDDEF","dd")}//返回true
4.fn:startsWith 判断词头函数

作用:用于判断一个字符串是否以一个特定的词头开始。

例子:

  1. ${fn:startsWith("ABCD","AB")}//返回true
  2. ${fn:startsWith("ABCD","EF")}//返回false
5.fn:endsWith 判断词尾函数

作用:用于判断一个字符串是否以一个特定的词尾结束。

例子:

  1. ${fn:startsWith("ABCD","CD")}//返回true
  2. ${fn:startsWith("ABCD","AB")}//返回false
6.fn:escapeXml 字符实体转换函数

作用:用于将所有特殊字符转化为字符实体码。

例子:

  1. ${fn:escapeXml("<br>")}//页面将显示<br>,假如不使用此函数,将返回一个换行
7.fn:indexOf 字符首次匹配函数

作用:用于取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“-1”。

例子:

  1. ${fn:indexOf("ABCD","ABC")}//返回0
  2. ${fn:indexOf("ABCD","BC")}//返回1
  3. ${fn:indexOf("ABCD","EF")}//返回-1
8.fn:join 数组组合函数

作用:用于将一个数组的成员以特定的字符连接起来。

参数 描述
array 字符串数组。其类型必须为 String[] 类型
separator 分隔符。其类型必须为 String 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:join(userArray,";")}//假如userArray的值为[xiaoming,xiaohong,ligang],返回值为xiaoming;xiaohong;ligang
  2. ${fn:join(testArray,"#_#")}//假如testArray的值为[I,like,internate],返回值为I#_#like#_#internate
9.fn:replace 替换函数

作用:用于替换字符串中的字符。

参数 描述
inputString 源字符串。其类型必须为 String 类型
beforeSubstring 指定被替换字符串。其类型必须为 String 类型
afterSubstring 指定替换字符串。其类型必须为 String 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:replace("ABC","A","B")}//返回BBC
  2. ${fn:replace("ABCDEF","BC","M")}//返回AMDEF
10.fn:split 字符分割函数

作用:用于将一个字符串分割成数组。

参数 描述
string 源字符串。其类型必须为 String 类型
delimiters 指定分隔符。其类型必须为 String 类型
返回结果 返回一个 String[] 类型的值

例子:

  1. ${fn:split("I#_#like#_#internate","#_#")}//返回值为一个java数组:{"I","like","internate"}
11.fn:substring 字符串截取函数

作用:用于截取字符串。

参数 描述
string 源字符串。其类型必须为 String 类型
beginIndex 指定起始下标(值从 0 开始)。其类型必须为 int 类型
endIndex 指定结束下标(值从 0 开始)。其类型必须为 int 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:substring("ABC","1","2")}//返回值为B
  2. ${fn:substring("ABCDEFG","3","5")}//返回值为DE
12.fn:substringBefore 起始至目标字符截取函数

作用:用于截取源字符从开始到某个特定字符串之间的字符。

例子:

  1. ${fn:substringBefore("ABCD","BC")}//返回值为A
  2. ${fn:substringBefore("ABCDEFG","F")}//返回值为ABCDE


13.fn:substringAfter目标字符至结尾截取函数

作用:用于截取源字符从某个特定字符串至结尾之间的字符。

例子:

  1. ${fn:substringBefore("ABCD","BC")}//返回值为D
  2. ${fn:substringBefore("ABCDEFG","F")}//返回值为F

14.fn:toLowerCase 小写转换函数

作用:用于将源字符串中的字符全部转换成小写字符。

例子:

  1. ${fn:toLowerCase("ABC")}//返回值为abc
  2. ${fn:toLowerCase("ABCDEF")}//返回值为abcdef

15.fn:toUpperCase 大写转换函数

作用:用于将源字符串中的字符全部转换成大写字符。

例子:

  1. ${fn:toUpperCase("abc")}//返回值为ABC
  2. ${fn:toUpperCase("abcdef")}//返回值为ABCDEF

16.fn:trim 空格删除函数

作用:用于删除源字符串中开头与结尾部分的空格。

例子:

  1. ${fn:trim("ABC")}//返回结果为ABC;
  2. start${fn:trim("ABCDEF")}end//返回结果为startABCDEFend;

fmt标签

formatting标签库主要用于在JSP页面中实现国际化与格式化,使用时在页面中引入:

<%@ taglib uri="/WEB-INF/tld/fmt.tld" prefix="fmt"%>

JSP2.0规范下出现的formatting标签共有12个。

1.<fmt:timeZone> <fmt:setTimeZone>

作用:这两组标签都用于设定一个时区,唯一不同的是 <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置, <fmt:setTimeZone> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。

属性 描述
var <fmt:setTimeZone> 独有的属性,用于保存时区为一个变量
value 时区的设置
scope 变量的作用范围

2.<fmt:formatNumber>

作用:用于格式化数字。

属性 描述
value 格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例
type 格式化的类型,可以是currency(货币)、number(数字)和percent(百分比)
pattern 格式化模式
var 结果保存变量
scope 变量的作用范围
maxIntegerDigits 指定格式化结果的最大值
minIntegerDigits 指定格式化结果的最小值
maxFractionDigits 指定格式化结果的最大值,带小数
minFractionDigits 指定格式化结果的最小值,带小数

例子:

  1. <fmt:formatNumbervalue="1000.888"type="currency"var="money"/>//该结果将被保存在“money”变量中,将根据Locale环境显示当地的货币格式。

3.<fmt:parseNumber>

作用:标签用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。<fmt:parseNumber> 标签看起来和 <fmt:formatNumber> 标签的作用正好相反。

属性 描述
value 将被解析的字符串
type 解析格式化的类型
pattern 解析格式化模式
var 结果保存变量,类型为 java.lang.Number
scope 变量的作用范围
parseLocale 以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例

例子:

  1. <fmt:parseNumbervalue="15%"type="percent"var="num"/>//解析之后的结果为“0.15”
4.<fmt:formatDate>

作用:用于格式化日期。

属性 描述
value 格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
type 格式化的类型
pattern 格式化模式
var 结果保存变量
scope 变量的作用范围
timeZone 指定格式化日期的时区

5.<fmt:parseDate>

作用:用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。

属性 描述
value 将被解析的字符串
type 解析格式化的类型
pattern 解析格式化模式
var 结果保存变量,类型为 java.lang.Date
scope 变量的作用范围
parseLocale 以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
timeZone 指定解析格式化日期的时区

说明:<fmt:parseNumber>和<fmt:parseDate>两 组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对var属性的字符串参数要求非常严格。就JSP页面的表示层前段来说,处理这种解析本不属于份内之事,因此<fmt:parseNumber>和<fmt:parseDate>两组标签应该 尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在Servlet中。

6.<fmt:setLocale>

作用:用于设置Locale环境。

属性 描述
value Locale环境的指定可以是java.util.Locale或String类型的实例
scope Locale环境变量的作用范围(可选)

例子:

  1. <fmt:setLocalevalue="zh_TW"/>//设置本地环境为繁体中文。
7.<fmt:bundle> <fmt:setBundle>

作用:这两组标签用于资源配置文件的绑定,唯一不同的是 <fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示, <fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。

属性 描述
basename 资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性
var <fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量
scope 变量的作用范围

例子:

  1. <fmt:setLocalevalue="zh_CN"/>
  2. <fmt:setBundlebasename="applicationMessage"var="applicationBundle"/>
该示例将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。

8.<fmt:message>

作用:用于信息显示的标签,将显示资源配置文件中定义的信息。

属性 描述
key 资源配置文件的“键”指定
bundle 若使用 <fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找
var 将显示信息保存为一个变量
scope 变量的作用范围

例子:

  1. <fmt:setBundlebasename="applicationMessage"var="applicationBundle"/>
  2. <fmt:bundlebasename="applicationAllMessage">
  3. <fmt:messagekey="userName"/>
  4. <fmt:messagekey="passWord"bundle="${applicationBundle}"/>
  5. </fmt:bundle>
9.<fmt:param>

作用:<fmt:param> 标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性 value。

10.<fmt:requestEncoding>

作用:<fmt:requestEncoding> 标签用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。

fn标签

fn标签更确切的说应该叫做fn函数,主要用于el表达式中,使用时需要在页面中引入:

<%@ taglib uri="/WEB-INF/tld/fn.tld" prefix="fn"%>

JSP2.0规范下出现的Functions标签共有16个。

1.fn:length 长度函数

作用:计算集合的长度;返回值是集合的长度。

例子:

  1. ${fn:length(userList)}
  2. ${fn:length(array)}

2.fn:contains 判断包含函数

作用:用于判断一个字符串是否包含子字符串;返回值是true或false。

例子:

  1. ${fn:contains("ABC","A")}//返回true
  2. ${fn:contains("ABCDDEF","dd")}//返回false
3.fn:containsIgnoreCase 忽略大小写的判断包含函数

作用:用于判断一个字符串是否包含忽略大小写的子字符串;与fn:contains类似,区别是忽略大小写。

例子:

  1. ${fn:contains("ABC","A")}//返回true
  2. ${fn:contains("ABCDDEF","dd")}//返回true
4.fn:startsWith 判断词头函数

作用:用于判断一个字符串是否以一个特定的词头开始。

例子:

  1. ${fn:startsWith("ABCD","AB")}//返回true
  2. ${fn:startsWith("ABCD","EF")}//返回false
5.fn:endsWith 判断词尾函数

作用:用于判断一个字符串是否以一个特定的词尾结束。

例子:

  1. ${fn:startsWith("ABCD","CD")}//返回true
  2. ${fn:startsWith("ABCD","AB")}//返回false
6.fn:escapeXml 字符实体转换函数

作用:用于将所有特殊字符转化为字符实体码。

例子:

  1. ${fn:escapeXml("<br>")}//页面将显示<br>,假如不使用此函数,将返回一个换行
7.fn:indexOf 字符首次匹配函数

作用:用于取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“-1”。

例子:

  1. ${fn:indexOf("ABCD","ABC")}//返回0
  2. ${fn:indexOf("ABCD","BC")}//返回1
  3. ${fn:indexOf("ABCD","EF")}//返回-1
8.fn:join 数组组合函数

作用:用于将一个数组的成员以特定的字符连接起来。

参数 描述
array 字符串数组。其类型必须为 String[] 类型
separator 分隔符。其类型必须为 String 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:join(userArray,";")}//假如userArray的值为[xiaoming,xiaohong,ligang],返回值为xiaoming;xiaohong;ligang
  2. ${fn:join(testArray,"#_#")}//假如testArray的值为[I,like,internate],返回值为I#_#like#_#internate
9.fn:replace 替换函数

作用:用于替换字符串中的字符。

参数 描述
inputString 源字符串。其类型必须为 String 类型
beforeSubstring 指定被替换字符串。其类型必须为 String 类型
afterSubstring 指定替换字符串。其类型必须为 String 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:replace("ABC","A","B")}//返回BBC
  2. ${fn:replace("ABCDEF","BC","M")}//返回AMDEF
10.fn:split 字符分割函数

作用:用于将一个字符串分割成数组。

参数 描述
string 源字符串。其类型必须为 String 类型
delimiters 指定分隔符。其类型必须为 String 类型
返回结果 返回一个 String[] 类型的值

例子:

  1. ${fn:split("I#_#like#_#internate","#_#")}//返回值为一个java数组:{"I","like","internate"}
11.fn:substring 字符串截取函数

作用:用于截取字符串。

参数 描述
string 源字符串。其类型必须为 String 类型
beginIndex 指定起始下标(值从 0 开始)。其类型必须为 int 类型
endIndex 指定结束下标(值从 0 开始)。其类型必须为 int 类型
返回结果 返回一个 String 类型的值

例子:

  1. ${fn:substring("ABC","1","2")}//返回值为B
  2. ${fn:substring("ABCDEFG","3","5")}//返回值为DE
12.fn:substringBefore 起始至目标字符截取函数

作用:用于截取源字符从开始到某个特定字符串之间的字符。

例子:

  1. ${fn:substringBefore("ABCD","BC")}//返回值为A
  2. ${fn:substringBefore("ABCDEFG","F")}//返回值为ABCDE


13.fn:substringAfter目标字符至结尾截取函数

作用:用于截取源字符从某个特定字符串至结尾之间的字符。

例子:

  1. ${fn:substringBefore("ABCD","BC")}//返回值为D
  2. ${fn:substringBefore("ABCDEFG","F")}//返回值为F

14.fn:toLowerCase 小写转换函数

作用:用于将源字符串中的字符全部转换成小写字符。

例子:

  1. ${fn:toLowerCase("ABC")}//返回值为abc
  2. ${fn:toLowerCase("ABCDEF")}//返回值为abcdef

15.fn:toUpperCase 大写转换函数

作用:用于将源字符串中的字符全部转换成大写字符。

例子:

  1. ${fn:toUpperCase("abc")}//返回值为ABC
  2. ${fn:toUpperCase("abcdef")}//返回值为ABCDEF

16.fn:trim 空格删除函数

作用:用于删除源字符串中开头与结尾部分的空格。

例子:

  1. ${fn:trim("ABC")}//返回结果为ABC;
  2. start${fn:trim("ABCDEF")}end//返回结果为startABCDEFend;

fmt标签

formatting标签库主要用于在JSP页面中实现国际化与格式化,使用时在页面中引入:

<%@ taglib uri="/WEB-INF/tld/fmt.tld" prefix="fmt"%>

JSP2.0规范下出现的formatting标签共有12个。

1.<fmt:timeZone> <fmt:setTimeZone>

作用:这两组标签都用于设定一个时区,唯一不同的是 <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置, <fmt:setTimeZone> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。

属性 描述
var <fmt:setTimeZone> 独有的属性,用于保存时区为一个变量
value 时区的设置
scope 变量的作用范围

2.<fmt:formatNumber>

作用:用于格式化数字。

属性 描述
value 格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例
type 格式化的类型,可以是currency(货币)、number(数字)和percent(百分比)
pattern 格式化模式
var 结果保存变量
scope 变量的作用范围
maxIntegerDigits 指定格式化结果的最大值
minIntegerDigits 指定格式化结果的最小值
maxFractionDigits 指定格式化结果的最大值,带小数
minFractionDigits 指定格式化结果的最小值,带小数

例子:

  1. <fmt:formatNumbervalue="1000.888"type="currency"var="money"/>//该结果将被保存在“money”变量中,将根据Locale环境显示当地的货币格式。

3.<fmt:parseNumber>

作用:标签用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。<fmt:parseNumber> 标签看起来和 <fmt:formatNumber> 标签的作用正好相反。

属性 描述
value 将被解析的字符串
type 解析格式化的类型
pattern 解析格式化模式
var 结果保存变量,类型为 java.lang.Number
scope 变量的作用范围
parseLocale 以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例

例子:

  1. <fmt:parseNumbervalue="15%"type="percent"var="num"/>//解析之后的结果为“0.15”
4.<fmt:formatDate>

作用:用于格式化日期。

属性 描述
value 格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
type 格式化的类型
pattern 格式化模式
var 结果保存变量
scope 变量的作用范围
timeZone 指定格式化日期的时区

5.<fmt:parseDate>

作用:用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。

属性 描述
value 将被解析的字符串
type 解析格式化的类型
pattern 解析格式化模式
var 结果保存变量,类型为 java.lang.Date
scope 变量的作用范围
parseLocale 以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
timeZone 指定解析格式化日期的时区

说明:<fmt:parseNumber>和<fmt:parseDate>两 组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对var属性的字符串参数要求非常严格。就JSP页面的表示层前段来说,处理这种解析本不属于份内之事,因此<fmt:parseNumber>和<fmt:parseDate>两组标签应该 尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在Servlet中。

6.<fmt:setLocale>

作用:用于设置Locale环境。

属性 描述
value Locale环境的指定可以是java.util.Locale或String类型的实例
scope Locale环境变量的作用范围(可选)

例子:

  1. <fmt:setLocalevalue="zh_TW"/>//设置本地环境为繁体中文。
7.<fmt:bundle> <fmt:setBundle>

作用:这两组标签用于资源配置文件的绑定,唯一不同的是 <fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示, <fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。

属性 描述
basename 资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性
var <fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量
scope 变量的作用范围

例子:

  1. <fmt:setLocalevalue="zh_CN"/>
  2. <fmt:setBundlebasename="applicationMessage"var="applicationBundle"/>
该示例将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。

8.<fmt:message>

作用:用于信息显示的标签,将显示资源配置文件中定义的信息。

属性 描述
key 资源配置文件的“键”指定
bundle 若使用 <fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找
var 将显示信息保存为一个变量
scope 变量的作用范围

例子:

  1. <fmt:setBundlebasename="applicationMessage"var="applicationBundle"/>
  2. <fmt:bundlebasename="applicationAllMessage">
  3. <fmt:messagekey="userName"/>
  4. <fmt:messagekey="passWord"bundle="${applicationBundle}"/>
  5. </fmt:bundle>
9.<fmt:param>

作用:<fmt:param> 标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性 value。

10.<fmt:requestEncoding>

作用:<fmt:requestEncoding> 标签用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。

你可能感兴趣的:(jstl标签)