lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理
          稱(chēng)呼 Functions 標(biāo)簽庫(kù)為標(biāo)簽庫(kù),倒不如稱(chēng)呼其為函數(shù)庫(kù)來(lái)得更容易理解些。因?yàn)?Functions 標(biāo)簽庫(kù)并沒(méi)有提供傳統(tǒng)的標(biāo)簽來(lái)為 JSP 頁(yè)面的工作服務(wù),而是被用于 EL 表達(dá)式語(yǔ)句中。在 JSP2.0 規(guī)范下出現(xiàn)的 Functions 標(biāo)簽庫(kù)為 EL 表達(dá)式語(yǔ)句提供了許多更為有用的功能。 Functions 標(biāo)簽庫(kù)分為兩大類(lèi),共 16 個(gè)函數(shù)。 長(zhǎng)度函數(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 以下是各個(gè)函數(shù)的用途和屬性以及簡(jiǎn)單示例。 9.7.1 長(zhǎng)度函數(shù) fn:length 函數(shù) 長(zhǎng)度函數(shù) fn:length 的出現(xiàn)有重要的意義。在 JSTL1.0 中,有一個(gè)功能被忽略了,那就是對(duì)集合的長(zhǎng)度取值。雖然 java.util.Collection 接口定義了 size 方法,但是該方法不是一個(gè)標(biāo)準(zhǔn)的 JavaBean 屬性方法(沒(méi)有 get,set 方法),因此,無(wú)法通過(guò) EL 表達(dá)式“ ${collection.size} ”來(lái)輕松取得。 fn:length 函數(shù)正是為了解決這個(gè)問(wèn)題而被設(shè)計(jì)出來(lái)的。它的參數(shù)為 input ,將計(jì)算通過(guò)該屬性傳入的對(duì)象長(zhǎng)度。該對(duì)象應(yīng)該為集合類(lèi)型或 String 類(lèi)型。其返回結(jié)果是一個(gè) int 類(lèi)型的值。下面看一個(gè)示例。 <%ArrayList arrayList1 = new ArrayList(); arrayList1.add("aa"); arrayList1.add("bb"); arrayList1.add("cc"); %> <%request.getSession().setAttribute("arrayList1", arrayList1);%> ${fn:length(sessionScope.arrayList1)} 假設(shè)一個(gè) ArrayList 類(lèi)型的實(shí)例“ arrayList1 ”,并為其添加三個(gè)字符串對(duì)象,使用 fn:length 函數(shù)后就可以取得返回結(jié)果為“ 3 ”。 9.7.2 判斷函數(shù) fn:contains 函數(shù) fn:contains 函數(shù)用來(lái)判斷源字符串是否包含子字符串。它包括 string 和 substring 兩個(gè)參數(shù),它們都是 String 類(lèi)型,分布表示源字符串和子字符串。其返回結(jié)果為一個(gè) boolean 類(lèi)型的值。下面看一個(gè)示例。 ${fn:contains("ABC", "a")}
          ${fn:contains("ABC", "A")}
          前者返回“ false ”,后者返回“ true ”。 9.7.3 fn:containsIgnoreCase 函數(shù) fn:containsIgnoreCase 函數(shù)與 fn:contains 函數(shù)的功能差不多,唯一的區(qū)別是 fn:containsIgnoreCase 函數(shù)對(duì)于子字符串的包含比較將忽略大小寫(xiě)。它與 fn:contains 函數(shù)相同,包括 string 和 substring 兩個(gè)參數(shù),并返回一個(gè) boolean 類(lèi)型的值。下面看一個(gè)示例。 ${fn:containsIgnoreCase("ABC", "a")}
          ${fn:containsIgnoreCase("ABC", "A")}
          前者和后者都會(huì)返回“ true ”。 9.7.4 詞頭判斷函數(shù) fn:startsWith 函數(shù) fn:startsWith 函數(shù)用來(lái)判斷源字符串是否符合一連串的特定詞頭。它除了包含一個(gè) string 參數(shù)外,還包含一個(gè) subffx 參數(shù),表示詞頭字符串,同樣是 String 類(lèi)型。該函數(shù)返回一個(gè) boolean 類(lèi)型的值。下面看一個(gè)示例。 ${fn:startsWith ("ABC", "ab")}
          ${fn:startsWith ("ABC", "AB")}
          前者返回“ false ”,后者返回“ true ”。 9.7.5 詞尾判斷函數(shù) fn:endsWith 函數(shù) fn:endsWith 函數(shù)用來(lái)判斷源字符串是否符合一連串的特定詞尾。它與 fn:startsWith 函數(shù)相同,包括 string 和 subffx 兩個(gè)參數(shù),并返回一個(gè) boolean 類(lèi)型的值。下面看一個(gè)示例。 ${fn:endsWith("ABC", "bc")}
          ${fn:endsWith("ABC", "BC")}
          前者返回“ false ”,后者返回“ true ”。 9.7.6 字符實(shí)體轉(zhuǎn)換函數(shù) fn:escapeXml 函數(shù) fn:escapeXml 函數(shù)用于將所有特殊字符轉(zhuǎn)化為字符實(shí)體碼。它只包含一個(gè) string 參數(shù),返回一個(gè) String 類(lèi)型的值。 9.7.8 字符匹配函數(shù) fn:indexOf 函數(shù) fn:indexOf 函數(shù)用于取得子字符串與源字符串匹配的開(kāi)始位置,若子字符串與源字符串中的內(nèi)容沒(méi)有匹配成功將返回“ -1 ”。它包括 string 和 substring 兩個(gè)參數(shù),返回結(jié)果為 int 類(lèi)型。下面看一個(gè)示例。 ${fn:indexOf("ABCD","aBC")}
          ${fn:indexOf("ABCD","BC")}
          前者由于沒(méi)有匹配成功,所以返回 -1 ,后者匹配成功將返回位置的下標(biāo),為 1 。 本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/lpdx111/archive/2008/12/17/3543430.aspx

          Lyyb2001
          主站蜘蛛池模板: 丰城市| 博客| 新民市| 藁城市| 炎陵县| 监利县| 河南省| 长治县| 林周县| 闸北区| 鹤庆县| 阳高县| 上饶市| 梁平县| 丽江市| 铜鼓县| 湛江市| 高陵县| 阿坝| 平乡县| 濉溪县| 永新县| 金溪县| 安陆市| 连江县| 宝应县| 临西县| 城市| 巴楚县| 天柱县| 三亚市| 桐柏县| 商丘市| 晋州市| 黔西县| 图们市| 西盟| 金华市| 剑河县| 贵德县| 开鲁县|