分享java帶來的快樂

          我喜歡java新東西

          fn 標簽庫

          在jstl中的fn標簽也是我們在網頁設計中經常要用到的很關鍵的標簽,在使用的時候要先加上頭

          <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>就可以使用fn標簽了。

          具體使用方法請參見下表:

          函數

          描述

          fn:contains(string, substring)

          如果參數string中包含參數substring,返回true

          fn:containsIgnoreCase(string, substring)

          如果參數string中包含參數substring(忽略大小寫),返回true

          fn:endsWith(string, suffix)

          如果參數 string 以參數suffix結尾,返回true

          fn:escapeXml(string)

          將有特殊意義的XML (和HTML)轉換為對應的XML character entity code,并返回

          fn:indexOf(string, substring)

          返回參數substring在參數string中第一次出現的位置

          fn:join(array, separator)

          將一個給定的數組array用給定的間隔符separator串在一起,組成一個新的字符串并返回。

          fn:length(item)

          返回參數item中包含元素的數量。參數Item類型是數組、collection或者String。如果是String類型,返回值是String中的字符數。

          fn:replace(string, before, after)

          返回一個String對象。用參數after字符串替換參數string中所有出現參數before字符串的地方,并返回替換后的結果

          fn:split(string, separator)

          返回一個數組,以參數separator 為分割符分割參數string,分割后的每一部分就是數組的一個元素

          fn:startsWith(string, prefix)

          如果參數string以參數prefix

          開頭,返回true

          fn:substring(string, begin, end)

          返回參數string部分字符串, 從參數begin開始到參數end位置,包括end位置的字符

          fn:substringAfter(string, substring)

          返回參數substring在參數string中后面的那一部分字符串

          fn:substringBefore(string, substring)

          返回參數substring在參數string中前面的那一部分字符串

          fn:toLowerCase(string)

          將參數string所有的字符變為小寫,并將其返回

          fn:toUpperCase(string)

          將參數string所有的字符變為大寫,并將其返回

          fn:trim(string)

          去除參數string 首尾的空格,并將其返回

           

           

          稱呼Functions標簽庫為標簽庫,倒不如稱呼其為函數庫來得更容易理解些。因為Functions標簽庫并沒有提供傳統的標簽來為JSP頁面的工作服務,而是被用于EL表達式語句中。在JSP2.0規范下出現的Functions標簽庫為EL表達式語句提供了許多更為有用的功能。Functions標簽庫分為兩大類,共16個函數。

          長度函數:fn:length

          字符串處理函數: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

          以下是各個函數的用途和屬性以及簡單示例。

          9.7.1 長度函數fn:length函數

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

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

          <%ArrayList arrayList1 = new ArrayList();

          arrayList1.add("aa");

          arrayList1.add("bb");

          arrayList1.add("cc");

          %>

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

          ${fn:length(sessionScope.arrayList1)}

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

          9.7.2 判斷函數fn:contains函數

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

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

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

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

          9.7.3 fn:containsIgnoreCase函數

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

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

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

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

          9.7.4 詞頭判斷函數fn:startsWith函數

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

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

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

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

          9.7.5 詞尾判斷函數fn:endsWith函數

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

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

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

          9.7.6 字符實體轉換函數fn:escapeXml函數

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

          9.7.8 字符匹配函數fn:indexOf函數

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

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

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

          9.7.9 分隔符函數fn:join函數

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

          表9.25 fn:join函數

          參數

          描述

          array

          字符串數組。其類型必須為String[]類型

          separator

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

          返回結果

          返回一個String類型的值

           

          下面看一個示例。

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

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

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

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

          9.7.10 替換函數fn:replace函數

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

          表9.26  fn:replace函數

          參數

          描述

          inputString

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

          beforeSubstring

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

          afterSubstring

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

          返回結果

          返回一個String類型的值

           

          下面看一個示例。

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

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

          9.7.11 分隔符轉換數組函數fn:split函數

          fn:split函數用于將一組由分隔符分隔的字符串轉換成字符串數組。它的參數、返回結果和描述如表9.27所示:

          表9.27  fn:split函數

          參數

          描述

          string

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

          delimiters

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

          返回結果

          返回一個String[]類型的值

           

          下面看一個示例。

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

          將“A,B,C”字符串轉換為數組{A,B,C}。

          9.7.12 字符串截取函數fn:substring函數

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

          表9.28  fn:substring函數

          參數

          描述

          string

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

          beginIndex

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

          endIndex

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

          返回結果

          返回一個String類型的值

           

          下面看一個示例。

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

          截取結果為“B”。

          posted on 2012-09-26 21:57 強強 閱讀(618) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 汝城县| 青岛市| 仲巴县| 铁力市| 凤庆县| 四平市| 平陆县| 阳朔县| 壤塘县| 沙湾县| 郴州市| 荥经县| 仁布县| 黄冈市| 高要市| 海伦市| 措勤县| 漳平市| 甘德县| 福安市| 武定县| 科尔| 民权县| 勐海县| 乌海市| 扶沟县| 巴青县| 吉隆县| SHOW| 柘荣县| 新丰县| 林芝县| 务川| 新竹县| 若尔盖县| 喜德县| 大新县| 始兴县| 泗水县| 山西省| 通渭县|