風(fēng)雨無阻

          JSTL詳解(一轉(zhuǎn))

          7 Functions 標(biāo)簽庫

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

          長度函數(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

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

          9.7.1  長度函數(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 類型的實例“ arrayList1 ”,并為其添加三個字符串對象,使用 fn:length 函數(shù)后就可以取得返回結(jié)果為“ 3 ”。

          9.7.2  判斷函數(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 ”。

          9.7.3 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 ”。

          9.7.4  詞頭判斷函數(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 ”。

          9.7.5  詞尾判斷函數(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 ”。

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

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

          9.7.8  字符匹配函數(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 。

          posted on 2008-06-05 09:49 秋楓故事 閱讀(225) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          <2008年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          新聞檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄱阳县| 历史| 东光县| 郓城县| 德州市| 饶阳县| 河南省| 曲靖市| 布尔津县| 荥阳市| 新密市| 西城区| 博乐市| 东乡| 油尖旺区| 郧西县| 依安县| 灵武市| 合作市| 阳东县| 大渡口区| 石台县| 阜城县| 青川县| 诸暨市| 屏东市| 华容县| 循化| 始兴县| 财经| 德安县| 吐鲁番市| 洪湖市| 南丹县| 苗栗县| 汽车| 达尔| 共和县| 天长市| 广昌县| 丰县|