锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
闄や簡鏋勯犲櫒錛?span style="font-family: verdana,geneva">StringUtils 涓竴鍏辨湁130澶氫釜鏂規硶錛屽茍涓旈兘鏄?static 鐨勶紝鎵浠ユ垜浠彲浠ヨ繖鏍瘋皟鐢?StringUtils.xxx()
涓嬮潰鍒嗗埆瀵逛竴浜涘父鐢ㄦ柟娉曞仛綆瑕佷粙緇嶏細
1. public static boolean isEmpty(String str)
鍒ゆ柇鏌愬瓧絎︿覆鏄惁涓虹┖錛屼負絀虹殑鏍囧噯鏄?str==null 鎴?str.length()==0
涓嬮潰鏄?StringUtils 鍒ゆ柇鏄惁涓虹┖鐨勭ず渚嬶細
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false //娉ㄦ剰鍦?StringUtils 涓┖鏍間綔闈炵┖澶勭悊
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
2. public static boolean isNotEmpty(String str)
鍒ゆ柇鏌愬瓧絎︿覆鏄惁闈炵┖錛岀瓑浜?!isEmpty(String str)
涓嬮潰鏄ず渚嬶細
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true
3. public static boolean isBlank(String str)
鍒ゆ柇鏌愬瓧絎︿覆鏄惁涓虹┖鎴栭暱搴︿負0鎴栫敱絀虹櫧絎?span style="font-family: verdana,geneva">(whitespace) 鏋勬垚
涓嬮潰鏄ず渚嬶細
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //瀵逛簬鍒惰〃絎︺佹崲琛岀銆佹崲欏電鍜屽洖杞︾
StringUtils.isBlank() //鍧囪瘑涓虹┖鐧界
StringUtils.isBlank("\b") = false //"\b"涓哄崟璇嶈竟鐣岀
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
4. public static boolean isNotBlank(String str)
鍒ゆ柇鏌愬瓧絎︿覆鏄惁涓嶄負絀轟笖闀垮害涓嶄負0涓斾笉鐢辯┖鐧界(whitespace) 鏋勬垚錛岀瓑浜?!isBlank(String str)
涓嬮潰鏄ず渚嬶細
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true
5. public static String trim(String str)
鍘繪帀瀛楃涓蹭袱绔殑鎺у埗絎?span style="font-family: verdana,geneva">(control characters, char <= 32) , 濡傛灉杈撳叆涓?null 鍒欒繑鍥?span style="font-family: verdana,geneva">null
涓嬮潰鏄ず渚嬶細
StringUtils.trim(null) = null
StringUtils.trim("") = ""
StringUtils.trim(" ") = ""
StringUtils.trim(" \b \t \n \f \r ") = ""
StringUtils.trim(" \n\tss \b") = "ss"
StringUtils.trim(" d d dd ") = "d d dd"
StringUtils.trim("dd ") = "dd"
StringUtils.trim(" dd ") = "dd"
6. public static String trimToNull(String str)
鍘繪帀瀛楃涓蹭袱绔殑鎺у埗絎?span style="font-family: verdana,geneva">(control characters, char <= 32) ,濡傛灉鍙樹負 null 鎴?"錛屽垯榪斿洖 null
涓嬮潰鏄ず渚嬶細
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
StringUtils.trimToNull(" dd ") = "dd"
7. public static String trimToEmpty(String str)
鍘繪帀瀛楃涓蹭袱绔殑鎺у埗絎?span style="font-family: verdana,geneva">(control characters, char <= 32) ,濡傛灉鍙樹負 null 鎴?"" 錛屽垯榪斿洖 ""
涓嬮潰鏄ず渚嬶細
StringUtils.trimToEmpty(null) = ""
StringUtils.trimToEmpty("") = ""
StringUtils.trimToEmpty(" ") = ""
StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
StringUtils.trimToEmpty(" \n\tss \b") = "ss"
StringUtils.trimToEmpty(" d d dd ") = "d d dd"
StringUtils.trimToEmpty("dd ") = "dd"
StringUtils.trimToEmpty(" dd ") = "dd"
8. public static String strip(String str)
鍘繪帀瀛楃涓蹭袱绔殑絀虹櫧絎?span style="color: #0000ff; font-family: verdana,geneva">(whitespace) 錛屽鏋滆緭鍏ヤ負 null 鍒欒繑鍥?null
涓嬮潰鏄ず渚?娉ㄦ剰鍜?span style="color: #0000ff; font-family: verdana,geneva"> trim() 鐨勫尯鍒?錛?br />
StringUtils.strip(null) = null
StringUtils.strip("") = ""
StringUtils.strip(" ") = ""
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
StringUtils.strip(" d d dd ") = "d d dd"
StringUtils.strip("dd ") = "dd"
StringUtils.strip(" dd ") = "dd"
9. public static String stripToNull(String str)
鍘繪帀瀛楃涓蹭袱绔殑絀虹櫧絎?span style="color: #0000ff; font-family: verdana,geneva">(whitespace) 錛屽鏋滃彉涓?null 鎴?"錛屽垯榪斿洖 null
涓嬮潰鏄ず渚?娉ㄦ剰鍜?trimToNull() 鐨勫尯鍒?錛?br />
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
10. public static String stripToEmpty(String str)
鍘繪帀瀛楃涓蹭袱绔殑絀虹櫧絎?span style="color: #0000ff; font-family: verdana,geneva">(whitespace) 錛屽鏋滃彉涓?span style="font-family: verdana,geneva"> null 鎴?span style="font-family: verdana,geneva">"" 錛屽垯榪斿洖""
涓嬮潰鏄ず渚?娉ㄦ剰鍜?trimToEmpty() 鐨勫尯鍒?錛?br />
StringUtils.stripToNull(null) = ""
StringUtils.stripToNull("") = ""
StringUtils.stripToNull(" ") = ""
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
浠ヤ笅鏂規硶鍙粙緇嶅叾鍔熻兘錛屼笉鍐嶄婦渚嬶細
11. public static String strip(String str, String stripChars)
鍘繪帀 str 涓ょ鐨勫湪 stripChars 涓殑瀛楃銆?br />
濡傛灉 str 涓?null 鎴栫瓑浜?span style="font-family: verdana,geneva">"" 錛屽垯榪斿洖瀹冩湰韜紱
濡傛灉 stripChars 涓?null 鎴?span style="font-family: verdana,geneva">"" 錛屽垯榪斿洖 strip(String str) 銆?br />
12. public static String stripStart(String str, String stripChars)
鍜?1鐩鎬技錛屽幓鎺?span style="font-family: verdana,geneva"> str 鍓嶇鐨勫湪 stripChars 涓殑瀛楃銆?br />
13. public static String stripEnd(String str, String stripChars)
鍜?1鐩鎬技錛屽幓鎺?str 鏈鐨勫湪 stripChars 涓殑瀛楃銆?br />
14. public static String[] stripAll(String[] strs)
瀵瑰瓧絎︿覆鏁扮粍涓殑姣忎釜瀛楃涓茶繘琛?strip(String str) 錛岀劧鍚庤繑鍥炪?br />
濡傛灉 strs 涓?null 鎴?strs 闀垮害涓?錛屽垯榪斿洖 strs 鏈韓
15. public static String[] stripAll(String[] strs, String stripChars)
瀵瑰瓧絎︿覆鏁扮粍涓殑姣忎釜瀛楃涓茶繘琛?strip(String str, String stripChars) 錛岀劧鍚庤繑鍥炪?br />
濡傛灉 strs 涓?null 鎴?strs 闀垮害涓?錛屽垯榪斿洖 strs 鏈韓
16. public static boolean equals(String str1, String str2)
姣旇緝涓や釜瀛楃涓叉槸鍚︾浉絳夛紝濡傛灉涓や釜鍧囦負絀哄垯涔熻涓虹浉絳夈?br />
17. public static boolean equalsIgnoreCase(String str1, String str2)
姣旇緝涓や釜瀛楃涓叉槸鍚︾浉絳夛紝涓嶅尯鍒嗗ぇ灝忓啓錛屽鏋滀袱涓潎涓虹┖鍒欎篃璁や負鐩哥瓑銆?br />
18. public static int indexOf(String str, char searchChar)
榪斿洖瀛楃 searchChar 鍦ㄥ瓧絎︿覆 str 涓涓嬈″嚭鐜扮殑浣嶇疆銆?br />
濡傛灉 searchChar 娌℃湁鍦?str 涓嚭鐜板垯榪斿洖-1錛?br />
濡傛灉 str 涓?null 鎴?"" 錛屽垯涔熻繑鍥?1
19. public static int indexOf(String str, char searchChar, int startPos)
榪斿洖瀛楃 searchChar 浠?startPos 寮濮嬪湪瀛楃涓?str 涓涓嬈″嚭鐜扮殑浣嶇疆銆?br />
濡傛灉浠?startPos 寮濮?searchChar 娌℃湁鍦?span style="font-family: verdana,geneva"> str 涓嚭鐜板垯榪斿洖-1錛?br />
濡傛灉 str 涓?null 鎴?"" 錛屽垯涔熻繑鍥?1
20. public static int indexOf(String str, String searchStr)
榪斿洖瀛楃涓?searchStr 鍦ㄥ瓧絎︿覆 str 涓涓嬈″嚭鐜扮殑浣嶇疆銆?br />
濡傛灉 str 涓?null 鎴?searchStr 涓?null 鍒欒繑鍥?1錛?br />
濡傛灉 searchStr 涓?"" ,涓?span style="font-family: verdana,geneva"> str 涓轟笉涓?null 錛屽垯榪斿洖0錛?br />
濡傛灉 searchStr 涓嶅湪 str 涓紝鍒欒繑鍥?1
21. public static int ordinalIndexOf(String str, String searchStr, int ordinal)
榪斿洖瀛楃涓?searchStr 鍦ㄥ瓧絎︿覆 str 涓 ordinal 嬈″嚭鐜扮殑浣嶇疆銆?br />
濡傛灉 str=null 鎴?searchStr=null 鎴?ordinal<=0 鍒欒繑鍥?1
涓句緥(*浠h〃浠繪剰瀛楃涓?錛?br />
StringUtils.ordinalIndexOf(null, *, *) = -1
StringUtils.ordinalIndexOf(*, null, *) = -1
StringUtils.ordinalIndexOf("", "", *) = 0
StringUtils.ordinalIndexOf("aabaabaa", "a", 1) = 0
StringUtils.ordinalIndexOf("aabaabaa", "a", 2) = 1
StringUtils.ordinalIndexOf("aabaabaa", "b", 1) = 2
StringUtils.ordinalIndexOf("aabaabaa", "b", 2) = 5
StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
StringUtils.ordinalIndexOf("aabaabaa", "bc", 1) = -1
StringUtils.ordinalIndexOf("aabaabaa", "", 1) = 0
StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0
22. public static int indexOf(String str, String searchStr, int startPos)
榪斿洖瀛楃涓?searchStr 浠?startPos 寮濮嬪湪瀛楃涓?str 涓涓嬈″嚭鐜扮殑浣嶇疆銆?br />
涓句緥(*浠h〃浠繪剰瀛楃涓?錛?br />
StringUtils.indexOf(null, *, *) = -1
StringUtils.indexOf(*, null, *) = -1
StringUtils.indexOf("", "", 0) = 0
StringUtils.indexOf("aabaabaa", "a", 0) = 0
StringUtils.indexOf("aabaabaa", "b", 0) = 2
StringUtils.indexOf("aabaabaa", "ab", 0) = 1
StringUtils.indexOf("aabaabaa", "b", 3) = 5
StringUtils.indexOf("aabaabaa", "b", 9) = -1
StringUtils.indexOf("aabaabaa", "b", -1) = 2
StringUtils.indexOf("aabaabaa", "", 2) = 2
StringUtils.indexOf("abc", "", 9) = 3
23. public static int lastIndexOf(String str, char searchChar)
鍩烘湰鍘熺悊鍚?8
24. public static int lastIndexOf(String str, char searchChar, int startPos)
鍩烘湰鍘熺悊鍚?9
25. public static int lastIndexOf(String str, String searchStr)
鍩烘湰鍘熺悊鍚?0
26. public static int lastIndexOf(String str, String searchStr, int startPos)
鍩烘湰鍘熺悊鍚?2
鍙﹂檮錛?br />
String 鐨?split(String regex) 鏂規硶鐨勭敤娉?br />
濡傛灉鎴戜滑闇瑕佹妸鏌愪釜瀛楃涓叉媶鍒嗕負瀛楃涓叉暟緇勶紝鍒欓氬父鐢?span style="font-family: verdana,geneva"> split(String regex) 鏉ュ疄鐜般?br />
渚嬪錛?br />
緇撴灉涓猴細
4
aa
bb
cc
dd
濡傛灉錛?br />
String str = "aa.bb.cc.dd";
String[] strArray = str.split(".");
鍒欑粨鏋滀負錛?
涓轟粈涔堢粨鏋滀笉鏄垜浠墍鎯崇殑鍛紝鍘熷洜鏄弬鏁?span style="font-family: verdana,geneva"> String regex 鏄鍒欒〃杈懼紡 (regular expression) 鑰屼笉鏄櫘閫氬瓧絎︿覆錛岃?"." 鍦ㄦ鍒欒〃杈懼紡涓湁鐗規畩鍚箟錛岃〃紺哄尮閰嶆墍鏈夊崟涓瓧絎︺傚鏋滆閭f牱鎷嗗垎錛屾垜浠繀欏葷粰 "." 榪涜杞箟錛?span style="font-family: verdana,geneva">String[] strArray = str.split(".") 淇敼涓?String[] strArray = str.split("\\.") 鍗沖彲銆?br />
鍙﹀鏈夊叧 StringUtils 鐨勮緇?API 璇峰弬瑙佸畼鏂圭綉绔?span style="font-family: arial,helvetica,sans-serif">: http://commons.apache.org/lang/api/org/apache/commons/lang/StringUtils.html
鎵鏈夋爣絳撅細
Tags
fmt:requestEncoding
fmt:setLocale
fmt:timeZone
fmt:setTimeZone
fmt:bundle
fmt:setBundle
fmt:message
fmt:param
fmt:formatNumber
fmt:parseNumber
fmt:formatDate
fmt:parseDate
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
jstl fmt 鍑芥暟澶у叏
涓昏鍔熻兘鏍煎紡鍖?/p>
鏃ユ湡鏍煎紡(2008騫?鏈?鏃?2鐐?0鍒?3縐?
<fmt:formatDate value="<%=new Date() %>" pattern="yyyy騫碝M鏈坉d鏃H鐐筸m鍒唖s縐? />
淇濈暀涓や綅灝忔暟
<fmt:formatNumber value="123.123456789" pattern="0.00"/>
鏍煎紡鏁板瓧(45,678.234)
<fmt:formatNumber type="number" value="45678.2345" />
鏍煎紡鐧懼垎姣?font color="#ff0000">(23%)
<fmt:formatNumber type="percent" value="0.2345" />
鍏朵粬
<fmt:bundle>錛氳祫婧愮粦瀹氥傞櫎浜嗕互鍓嶆彁鍒拌繃鐨勫湪web.xml涓0鏄庝互澶栵紝榪樺彲浠ュ埄鐢ㄦ鏍囩銆?/p>
渚?lt;fmt:bundle basename="message"></fmt:bundle>
<fmt:setLocale>錛氳緗甽ocale錛屼富瑕佹槸鐢ㄤ簬榪欑鎯呭喌錛屼竴涓腑鍥戒漢鍦ㄥ浗澶栵紝locale鏄痚n_US錛屼絾鎯崇敤涓枃鏄劇ず銆?/p>
渚嬶細<fmt:setLocal value="zh_CN"/>
<fmt:message>錛氳緭鍑簆roperties鏂囦歡涓殑鎸囧畾鍐呭銆?/p>
渚?lt;fmt:message key="user"/>
<fmt:formatNumber type="number">鏍煎紡鍖栨櫘閫氭暟瀛?br /> <fmt:formatNumber type="percent">鏍煎紡鍖栫櫨鍒嗘瘮
涓夌鏁板瓧綾誨瀷鍙傛暟錛歝urrency,number,percent
<fmt:parseNumber var="i" type="number" value="45678.2345" />
<c:out value="${i}" escapeXml="false" /> 鍒嗘瀽鍑烘暟瀛?/p>
<fmt:requestEncoding value="GB18030"/> 鏍煎紡鍖栨枃鏈紪鐮?/p>
<fmt:formatDate value="${date}" type="both" timeStyle="long" dateStyle="long" />
type="both" 杈撳叆鏃ユ湡涔熷悓鏃惰緭鍑哄叿浣撴椂闂?br />
timeStyle="long" 鏃墮棿浠?#8220;闀?#8221;鏍煎紡杈撳嚭 宸埆錛氫笅鍗?2鏃?6鍒?9縐?涓?14:06:59
dateStyle="long" 鏃ユ湡浠?#8220;闀?#8221;鏍煎紡杈撳嚭 宸埆錛?006騫?鏈?鏃?涓?2006-9-7
鍥涚闀跨煭鍙傛暟錛歭ong,short,medium,full
<fmt:timeZone value="${timezone}"/> 鏃跺尯鍋忕Щ錛屼笌涓婇潰鍙厤鍚堜嬌鐢細
<fmt:formatDate value="$ekeysaa" timeZone="${zn}" type="both" />
<fmt:parseDate var="i" type="date" value="2006-12-11" />
<c:out value="${i}" escapeXml="false" /> 鍒嗘瀽鍑烘椂闂?/p>
鑾峰彇浠庢煇涓瓧絎︽墍鍦ㄤ綅緗紑濮嬬殑瀛愪覆 鍑芥暟 鎻忚堪 fn:contains(string, substring) 濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛岃繑鍥瀟rue fn:containsIgnoreCase(string, substring) 濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛堝拷鐣ュぇ灝忓啓錛夛紝榪斿洖true fn:endsWith(string, suffix) 濡傛灉鍙傛暟 string 浠ュ弬鏁皊uffix緇撳熬錛岃繑鍥瀟rue fn:escapeXml(string) 灝嗘湁鐗規畩鎰忎箟鐨刋ML (鍜孒TML)杞崲涓哄搴旂殑XML character entity code錛屽茍榪斿洖 fn:indexOf(string, substring) 榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓涓嬈″嚭鐜扮殑浣嶇疆 fn:join(array, separator) 灝嗕竴涓粰瀹氱殑鏁扮粍array鐢ㄧ粰瀹氱殑闂撮殧絎eparator涓插湪涓璧鳳紝緇勬垚涓涓柊鐨勫瓧絎︿覆騫惰繑鍥炪?/p>
fn:length(item) 榪斿洖鍙傛暟item涓寘鍚厓绱犵殑鏁伴噺銆傚弬鏁癐tem綾誨瀷鏄暟緇勩乧ollection鎴栬匰tring銆傚鏋滄槸String綾誨瀷,榪斿洖鍊兼槸String涓殑瀛楃鏁般?/p>
fn:replace(string, before, after) 榪斿洖涓涓猄tring瀵硅薄銆傜敤鍙傛暟after瀛楃涓叉浛鎹㈠弬鏁皊tring涓墍鏈夊嚭鐜板弬鏁癰efore瀛楃涓茬殑鍦版柟錛屽茍榪斿洖鏇挎崲鍚庣殑緇撴灉 fn:split(string, separator) 榪斿洖涓涓暟緇勶紝浠ュ弬鏁皊eparator 涓哄垎鍓茬鍒嗗壊鍙傛暟string錛屽垎鍓插悗鐨勬瘡涓閮ㄥ垎灝辨槸鏁扮粍鐨勪竴涓厓绱?/p>
fn:startsWith(string, prefix) 濡傛灉鍙傛暟string浠ュ弬鏁皃refix寮澶達紝榪斿洖true fn:substring(string, begin, end) 榪斿洖鍙傛暟string閮ㄥ垎瀛楃涓? 浠庡弬鏁癰egin寮濮嬪埌鍙傛暟end浣嶇疆錛屽寘鎷琫nd浣嶇疆鐨勫瓧絎?/p>
fn:substringAfter(string, substring) 榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓悗闈㈢殑閭d竴閮ㄥ垎瀛楃涓?/p>
fn:substringBefore(string, substring) 榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓墠闈㈢殑閭d竴閮ㄥ垎瀛楃涓?/p>
fn:toLowerCase(string) 灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負灝忓啓錛屽茍灝嗗叾榪斿洖 fn:toUpperCase(string) 灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負澶у啓錛屽茍灝嗗叾榪斿洖 fn:trim(string) 鍘婚櫎鍙傛暟string 棣栧熬鐨勭┖鏍鹼紝騫跺皢鍏惰繑鍥?/p>
鍑芥暟鍚?/strong>
鍑芥暟璇存槑
浣跨敤涓句緥
fn:contains
鍒ゆ柇瀛楃涓叉槸鍚﹀寘鍚彟澶栦竴涓瓧絎︿覆
<c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase
鍒ゆ柇瀛楃涓叉槸鍚﹀寘鍚彟澶栦竴涓瓧絎︿覆(澶у皬鍐欐棤鍏?
<c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith
鍒ゆ柇瀛楃涓叉槸鍚︿互鍙﹀瀛楃涓茬粨鏉?/font>
<c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml
鎶婁竴浜涘瓧絎﹁漿鎴怷ML琛ㄧず錛屼緥濡?lt;瀛楃搴旇杞負<
${fn:escapeXml(param:info)}
fn:indexOf
瀛愬瓧絎︿覆鍦ㄦ瘝瀛楃涓蹭腑鍑虹幇鐨勪綅緗?/font>
${fn:indexOf(name, "-")}
fn:join
灝嗘暟緇勪腑鐨勬暟鎹仈鍚堟垚涓涓柊瀛楃涓詫紝騫朵嬌鐢ㄦ寚瀹氬瓧絎︽牸寮
${fn:join(array, ";")}
fn:length
鑾峰彇瀛楃涓茬殑闀垮害錛屾垨鑰呮暟緇勭殑澶у皬
${fn:length(shoppingCart.products)}
fn:replace
鏇挎崲瀛楃涓蹭腑鎸囧畾鐨勫瓧絎?/font>
${fn:replace(text, "-", "")}
fn:split
鎶婂瓧絎︿覆鎸夌収鎸囧畾瀛楃鍒囧垎
${fn:split(customerNames, ";")}
fn:startsWith
鍒ゆ柇瀛楃涓叉槸鍚︿互鏌愪釜瀛愪覆寮濮?/font>
<c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring
鑾峰彇瀛愪覆
${fn:substring(zip, 6, -1)}
fn:substringAfter
${fn:substringAfter(zip, "-")}
fn:substringBefore
鑾峰彇浠庡紑濮嬪埌鏌愪釜瀛楃鎵鍦ㄤ綅緗殑瀛愪覆
${fn:substringBefore(zip, "-")}
fn:toLowerCase
杞負灝忓啓
${fn.toLowerCase(product.name)}
fn:toUpperCase
杞負澶у啓瀛楃
${fn.UpperCase(product.name)}
fn:trim
鍘婚櫎瀛楃涓插墠鍚庣殑絀烘牸
${fn.trim(name)}
]]>