posts - 495,  comments - 11,  trackbacks - 0
          <taglib>
          ???????? <taglib-uri>http://java.sun.com/jstl/fn</taglib-uri>
          ???????? <taglib-location>/WEB-INF/fn.tld</taglib-location>
          </taglib>

          長度函數(shù): fn:length

          字符串處理函數(shù): fn:contains 、 fn:containsIgnoreCase fn:endsWith fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split fn:startsWith 、 fn:substring 、 fn:substringAfter fn:substringBefore 、 fn:toLowerCase fn:toUpperCase 、 fn:trim

          JSP 頁面上:

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

          ${fn:toUpperCase("sdjkhjshjhjd") }

          這個例子將輸出 這些字母的大寫字母

          一.長度函數(shù) fn:length 函數(shù)

          長度函數(shù) fn:length 的出現(xiàn)有重要的意義。在 JSTL1.0 中,有一個功能被忽略了,那就是對集合的長度取值。雖然 java.util.Collection 接口定義了 size 方法,但是該方法不是一個標(biāo)準(zhǔn)的 JavaBean 屬性方法(沒有 get,set 方法),因此,無法通過 EL 表達(dá)式“ ${collection.size} ”來輕松取得。

          fn:length 函數(shù)正是為了解決這個問題而被設(shè)計出來的。它的參數(shù)為 input ,將計算通過該屬性傳入的對象長度。該對象應(yīng)該為集合類型或 String 類型。其返回結(jié)果是一個 int 類型的值。下面看一個示例。

          <%ArrayList arrayList1 = new ArrayList();

          ????????????????????????????arrayList1.add("aa");

          ????????????????????????????arrayList1.add("bb");

          ????????????????????????????arrayList1.add("cc");

          %>

          <%request.getSession().setAttribute("arrayList1", arrayList1);%>

          ${fn:length(sessionScope.arrayList1)}

          假設(shè)一個 ArrayList 類型的實(shí)例“ arrayList1 ”,并為其添加三個字符串對象,使用 fn:length 函數(shù)后就可以取得返回結(jié)果為“ 3 ”。

          二.判斷函數(shù) fn:contains 函數(shù)

          fn:contains 函數(shù)用來判斷源字符串是否包含子字符串。它包括 string substring 兩個參數(shù),它們都是 String 類型,分布表示源字符串和子字符串。其返回結(jié)果為一個 boolean 類型的值。下面看一個示例。

          ${fn:contains("ABC", "a")}<br>

          ${fn:contains("ABC", "A")}<br>

          前者返回“ false ”,后者返回“ true ”。

          三.fn:containsIgnoreCase 函數(shù)

          fn:containsIgnoreCase 函數(shù)與 fn:contains 函數(shù)的功能差不多,唯一的區(qū)別是 fn:containsIgnoreCase 函數(shù)對于子字符串的包含比較將忽略大小寫。它與 fn:contains 函數(shù)相同,包括 string substring 兩個參數(shù),并返回一個 boolean 類型的值。下面看一個示例。

          ${fn:containsIgnoreCase("ABC", "a")}<br>

          ${fn:containsIgnoreCase("ABC", "A")}<br>

          前者和后者都會返回“ true ”。

          四.詞頭判斷函數(shù) fn:startsWith 函數(shù)

          fn:startsWith 函數(shù)用來判斷源字符串是否符合一連串的特定詞頭。它除了包含一個 string 參數(shù)外,還包含一個 subffx 參數(shù),表示詞頭字符串,同樣是 String 類型。該函數(shù)返回一個 boolean 類型的值。下面看一個示例。

          ${fn:startsWith ("ABC", "ab")}<br>

          ${fn:startsWith ("ABC", "AB")}<br>

          前者返回“ false ”,后者返回“ true ”。

          五.詞尾判斷函數(shù) fn:endsWith 函數(shù)

          fn:endsWith 函數(shù)用來判斷源字符串是否符合一連串的特定詞尾。它與 fn:startsWith 函數(shù)相同,包括 string subffx 兩個參數(shù),并返回一個 boolean 類型的值。下面看一個示例。

          ${fn:endsWith("ABC", "bc")}<br>

          ${fn:endsWith("ABC", "BC")}<br>

          前者返回“ false ”,后者返回“ true ”。

          .字符實(shí)體轉(zhuǎn)換函數(shù)fn:escapeXml 函數(shù)

          fn:escapeXml 函數(shù)用于將所有特殊字符轉(zhuǎn)化為字符實(shí)體碼。它只包含一個 string 參數(shù),返回一個 String 類型的值。

          七.字符匹配函數(shù) fn:indexOf 函數(shù)

          fn:indexOf 函數(shù)用于取得子字符串與源字符串匹配的開始位置,若子字符串與源字符串中的內(nèi)容沒有匹配成功將返回“ -1 ”。它包括 string substring 兩個參數(shù),返回結(jié)果為 int 類型。下面看一個示例。

          ${fn:indexOf("ABCD","aBC")}<br>

          ${fn:indexOf("ABCD","BC")}<br>

          前者由于沒有匹配成功,所以返回 -1 ,后者匹配成功將返回位置的下標(biāo),為 1 。

          八.分隔符函數(shù) fn:join 函數(shù)

          fn:join 函數(shù)允許為一個字符串?dāng)?shù)組中的每一個字符串加上分隔符,并連接起來。它的參數(shù)、返回結(jié)果和描述如表 9.25 所示:

          9.25   fn:join 函數(shù)

          參數(shù)

          描述

          array

          字符串?dāng)?shù)組。其類型必須為 String[] 類型

          separator

          分隔符。其類型必須為 String 類型

          返回結(jié)果

          返回一個 String 類型的值

          下面看一個示例。

          <% String[] stringArray = {"a","b","c"}; %>

          <%request.getSession().setAttribute("stringArray", stringArray);%>

          ${fn:join(sessionScope.stringArray,";")}<br>

          定義數(shù)組并放置到 Session 中,然后通過 Session 得到該字符串?dāng)?shù)組,使用 fn:join 函數(shù)并傳入分隔符“ ; ”,得到的結(jié)果為“ a;b;c ”。

          九.替換函數(shù) fn:replace 函數(shù)

          fn:replace 函數(shù)允許為源字符串做替換的工作。它的參數(shù)、返回結(jié)果和描述如表 9.26 所示:

          9.26   fn:replace 函數(shù)

          參數(shù)

          描述

          inputString

          源字符串。其類型必須為 String 類型

          beforeSubstring

          指定被替換字符串。其類型必須為 String 類型

          afterSubstring

          指定替換字符串。其類型必須為 String 類型

          返回結(jié)果

          返回一個 String 類型的值

          下面看一個示例。

          ${fn:replace("ABC","A","B")}<br>

          將“ ABC ”字符串替換為“ BBC ”,在“ ABC ”字符串中用“ B ”替換了“ A ”。

          十.分隔符轉(zhuǎn)換數(shù)組函數(shù) fn:split 函數(shù)

          fn:split 函數(shù)用于將一組由分隔符分隔的字符串轉(zhuǎn)換成字符串?dāng)?shù)組。它的參數(shù)、返回結(jié)果和描述如表 9.27 所示:

          9.27   fn:split 函數(shù)

          參數(shù)

          描述

          string

          源字符串。其類型必須為 String 類型

          delimiters

          指定分隔符。其類型必須為 String 類型

          返回結(jié)果

          返回一個 String[] 類型的值

          下面看一個示例。

          ${fn:split("A,B,C",",")}<br>

          將“ A,B,C ”字符串轉(zhuǎn)換為數(shù)組 {A,B,C} 。

          十一.字符串截取函數(shù) fn:substring 函數(shù)

          fn:substring 函數(shù)用于截取字符串。它的參數(shù)、返回結(jié)果和描述如表 9.28 所示:

          9.28   fn:substring 函數(shù)

          參數(shù)

          描述

          string

          源字符串。其類型必須為 String 類型

          beginIndex

          指定起始下標(biāo)(值從 0 開始)。其類型必須為 int 類型

          endIndex

          指定結(jié)束下標(biāo)(值從 0 開始)。其類型必須為 int 類型

          返回結(jié)果

          返回一個 String 類型的值

          下面看一個示例。

          ${fn:substring("ABC","1","2")}<br>

          截取結(jié)果為“ B ”。

          十二.起始到定位截取字符串函數(shù) fn:substringBefore 函數(shù)

          fn:substringBefore 函數(shù)允許截取源字符從開始到某個字符串。它的參數(shù)和 fn:substringAfter 函數(shù)相同,不同的是 substring 表示的是結(jié)束字符串。下面看一個示例。

          ${fn:substringBefore("ABCD","BC")}<br>

          截取的結(jié)果為“ A ”。

          十三.小寫轉(zhuǎn)換函數(shù) fn:toLowerCase 函數(shù)

          fn:toLowerCase 函數(shù)允許將源字符串中的字符全部轉(zhuǎn)換成小寫字符。它只有一個表示源字符串的參數(shù) string ,函數(shù)返回一個 String 類型的值。下面看一個示例。

          ${fn:toLowerCase("ABCD")}<br>

          轉(zhuǎn)換的結(jié)果為“ abcd ”。

          十四.大寫轉(zhuǎn)換函數(shù) fn:toUpperCase 函數(shù)

          fn:toUpperCase 函數(shù)允許將源字符串中的字符全部轉(zhuǎn)換成大寫字符。它與 fn:toLowerCase 函數(shù)相同,也只有一個 String 參數(shù),并返回一個 String 類型的值。下面看一個示例。

          ${fn:toUpperCase("abcd")}<br>

          轉(zhuǎn)換的結(jié)果為“ ABCD ”。

          十五.空格刪除函數(shù) fn:trim 函數(shù)

          fn:trim 函數(shù)將刪除源字符串中結(jié)尾部分的“空格”以產(chǎn)生一個新的字符串。它與 fn:toLowerCase 函數(shù)相同,只有一個 String 參數(shù),并返回一個 String 類型的值。下面看一個示例。

          ${fn:trim("AB C ")}D<br>

          轉(zhuǎn)換的結(jié)果為“ AB CD ”,注意,它將只刪除詞尾的空格而不是全部,因此“ B ”和“ C ”之間仍然留有一個空格。



          posted on 2007-09-12 11:13 jadmin 閱讀(1129) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宝坻区| 绵阳市| 水富县| 伊宁市| 和顺县| 兴山县| 林口县| 商城县| 孟连| 吴江市| 新乡县| 邹平县| 大城县| 乐清市| 泸西县| 聂拉木县| 新和县| 广河县| 巩留县| 探索| 乌兰县| 图们市| 平泉县| 定兴县| 锦屏县| 定陶县| 斗六市| 莆田市| 九台市| 湖北省| 徐水县| 峡江县| 苗栗县| 永丰县| 南部县| 泾源县| 塔城市| 嫩江县| 南京市| 祁东县| 九江市|