jstl标签中的fn与fmt标签的用法
fn標簽更確切的說應該叫做fn函數,主要用于el表達式中,使用時需要在頁面中引入:
<%@ taglib uri="/WEB-INF/tld/fn.tld" prefix="fn"%>
JSP2.0規范下出現的Functions標簽共有16個。
1.fn:length長度函數?
作用:計算集合的長度,返回值是集合的長度
例子:
${fn:length(userList)}
${fn:length(userArray)}
2.fn:contains 判斷包含函數
作用:判斷一個字符串是否包含子字符串;返回值為true或者false
例子:
${fn:contains("ABCD","B")};--->true
${fn:contains("ABCD","E")};--->false
3.fn:containsIgnoreCase 忽略大小寫,判斷包含函數
作用:用來判斷一個字符串是否包含忽略大小寫的子字符串,與fn:contains類似,主要區別在于忽略大小寫
例子:
${fn:containsIgnoreCase("ABCD","A")}---true
${fn:containsIgnoreCase("ABCD","a")}---true
4.fn:startsWith 判斷詞頭函數
作用:用來判斷一個字符串是否以一個特定的詞頭開始
例子:
${fn:startsWith("ABCD","AB")}----true
${fn:startsWith("ABCD","CD")}----false
5.fn:endsWith 判斷詞尾函數
作用:用來判斷一個字符串是否以一個特定的詞尾結束
${fn:startsWith("ABCD","AB")}----false
${fn:startsWith("ABCD","CD")}----true
6.fn:escapeXml 字符實體轉換函數
作用:用于將所有特殊字符轉化為字符實體碼
例子:
${fn:escapeXml("<br>")}//頁面將顯示<br>,假如不使用此函數,將返回一個換行
7.fn:indexOf 字符首次匹配函數
作用:用于取得子字符串與源字符串匹配的開始位置,若子字符串與源字符串中的內容沒有匹配成功將返回"-1",下標從0開始
例子:
${fn:indexOf("ABCD","ABC")}---返回0
${fn:indexOf("ABCD","BC")}---返回1
${fn:indexOf("ABCD","EF")}---返回-1
作用:用于將一個數組的成員以特定的字符連接起來。
| array | 字符串數組。其類型必須為? String[] ?類型 |
| separator | 分隔符。其類型必須為? String ?類型 |
| 返回結果 | 返回一個? String ?類型的值 |
例子:
${fn:join(userArray,";")} ? ?-----假如userAarray的值為[aaa,bbb,ccc],返回值為aaa;bbb;ccc
${fn:join(userArray,"&")} ? ?-----假如userAarray的值為[aaa,bbb,ccc],返回值為aaa&bbb&ccc
9.fn:replace 替換函數
作用:用于替換字符串中的字符。
| inputString | 源字符串。其類型必須為? String ?類型 |
| beforeSubstring | 指定被替換字符串。其類型必須為? String ?類型 |
| afterSubstring | 指定替換字符串。其類型必須為? String ?類型 |
| 返回結果 | 返回一個? String ?類型的值 |
例子:
${fn:replace("ABCD","A","B")}----返回的結果為BBCD
${fn:replace("ABCD","CD","YY")}----返回的結果為ABYY
10.fn:split 字符分割函數
作用:用于將一個字符串分割成數組。
| string | 源字符串。其類型必須為? String ?類型 |
| delimiters | 指定分隔符。其類型必須為? String ?類型 |
| 返回結果? | 返回一個? String[] ?類型的值 |
例子:
${fn:split("A_&_B_&_C_&_D","_&_")} ? ?//返回值為一個java數組 :{“A”,"B","C","D"}
11.fn:substring 字符串截取函數
作用:用于截取字符串
| string | 源字符串。其類型必須為? String ?類型 |
| beginIndex | 指定起始下標(值從? 0 ?開始)。其類型必須為? int ?類型 |
| endIndex | 指定結束下標(值從? 0 ?開始)。其類型必須為? int ?類型 |
| 返回結果 | 返回一個? String ?類型的值 |
例子:下標從0開始,包前不包后
${fn:substring("ABCD","1","2")} ? ? ?//返回值為B
${fn:substring("ABCDEFGHIJK","4","6")} ? ? ?//返回值為EF
12.fn:substringBefore 起始至目標字符截取函數
作用:用于截取源字符從開始到某個特定字符串之間的字符。
例子:
${fn:substringBefore("ABCD","BC")} ? //返回值為A
${fn:substringBefore("ABCDEFG","F")} ? //返回值為ABCDE
13.fn:substringAfter 目標字符至結尾之間的字符。
例子:
${fn:substringBefore("ABCDEF","BC")} ?//返回值為DEF
${fn:substringBefore("ABCDEF","E")} ?//返回值為F
14.fn:toLowerCase 小寫轉換消息
作用:用于將源字符串中的字符全部轉換成小寫字符
例子:
${fn:toLowerCase("ABC")} ? //返回值為abc
15.fn:toUpperCase 大寫轉換函數
作用:用于將源字符串中的字符全部轉換成大寫字符。
例子:
${fn:toUpperCase("abc")} ? //返回結果為ABC
16.fn:trim ?空格刪除函數
作用:用于刪除源字符串中開頭與結尾部分的空格。
例子:
${fn:trim("ABC ?")} ?//返回結果為ABC
${fn:trim(" ?ABC ? DEF ?")} ?//返回結果為ABC ?DEF
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 | 指定格式化結果的最小值,帶小數 |
例子:
<fmt:formatNumber value="1000.88" 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 ?類型的實例 |
例子:
<fmt:parseNumber value="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?環境變量的作用范圍(可選) |
例子:
<fmt:setLocale value="zh_TW"/> //設置本地環境為繁體中文
7.<fmt:bundle><fmt:setBundle>作用:這兩組標簽用于資源配置文件的綁定,唯一不同的是? <fmt:bundle> ?標簽將資源配置文件綁定于它標簽體中的顯示,? <fmt:setBundle> ?標簽則允許將資源配置文件保存為一個變量,在之后的工作可以根據該變量來進行。
| basename | 資源配置文件的指定,只需要指定文件名而無須擴展名,二組標簽共有的屬性 |
| var | <fmt:setBundle> ?獨有的屬性,用于保存資源配置文件為一個變量 |
| scope | 變量的作用范圍 |
例子:
[html]?view plain?copy該示例將會查找一個名為? applicationMessage_zh_CN.properties ?的資源配置文件,來作為顯示的? Resource ?綁定。
8.<fmt:message>
作用:用于信息顯示的標簽,將顯示資源配置文件中定義的信息。
| key | 資源配置文件的“鍵”指定 |
| bundle | 若使用? <fmt:setBundle> ?保存了資源配置文件,該屬性就可以從保存的資源配置文件中進行查找 |
| var | 將顯示信息保存為一個變量 |
| scope | 變量的作用范圍 |
例子:
9.<fmt:param>
作用:<fmt:param> ?標簽應該位于? <fmt:message> ?標簽內,將為該消息標簽提供參數值。它只有一個屬性? value。
10.<fmt:requestEncoding>
作用:<fmt:requestEncoding> ?標簽用于為請求設置字符編碼。它只有一個屬性? value ?,在該屬性中可以定義字符編碼。
總結
以上是生活随笔為你收集整理的jstl标签中的fn与fmt标签的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: access操作mysql_Access
- 下一篇: Centos8 更换DNF源