函數名 函數說明 使用舉例
fn:contains 判斷字符串是否包含另外一個字符串
<c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase 判斷字符串是否包含另外一個字符串(大小寫無關)
<c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith 判斷字符串是否以另外字符串結束
<c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 把一些字符轉成XML表示,例如<字符應該轉爲<
${fn:escapeXml(param:info)}
fn:indexOf 子字符串在母字符串中出現的位置 ${fn:indexOf(name, "-")}
fn:join 將數組中的數據聯合成一個新字符串,並使用指定字符格開 ${fn:join(array, ";")}
fn:length 獲取字符串的長度,或者數組的大小 ${fn:length(shoppingCart.products)}
fn:replace 替換字符串中指定的字符${fn:replace(text, "-", "•")}
將\r\n替換成<br/>
<div style="text-align: left;">
<%
request.setAttribute("vEnter", "\r\n");
//奇怪的是這一行我用 <c:set var="vEnter" value="\n" scope="request"/>
//都沒用,估計是set標籤裏對value值處理了一下,沒jstl的源碼,不清楚JSTL是怎麼處理的.
%>
${fn:replace(item.de, vEnter, "<br/>")}
</div>
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
原始結果:
[/imgs/201506151753507135579ea6d60f74b9ec91586340.jpeg, /imgs/201506151753507505579ea6d60f74b9ec91586341.jpeg]
目標結果:
/imgs/201506151753507135579ea6d60f74b9ec91586340.jpeg
/imgs/201506151753507505579ea6d60f74b9ec91586341.jpeg
<c:forEach var="i" begin="0" end="${fn:length(item.imgs) }">
${item.imgs[i]}
</c:forEach>
原始結果:http://video.baidu.com/SHANGHAIFW1.mp4
目標結果:SHANGHAIFW1.mp4
<a href="${item.img }" target="_blank">
<c:forEach var="v" items='${fn:split(item.img,"/") }' varStatus="index">
<c:if test='${index.index+1 == fn:length(fn:split(item.img,"/"))}'>
${v }
</c:if>
</c:forEach>
</a>
fn:startsWith 判斷字符串是否以某個子串開始
<c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 獲取子串 ${fn:substring(zip, 6, -1)}
${fn:substringAfter(zip, "-")}
fn:substringBefore 獲取從開始到某個字符所在位置的子串${fn:substringBefore(zip, "-")}
fn:toLowerCase 轉爲小寫 ${fn.toLowerCase(product.name)}
fn:toUpperCase 轉爲大寫字符${fn.UpperCase(product.name)}
fmt:formatNumber 格式化數字:
<fmt:setLocale value="zh_CN"/>
數字格式:<fmt:formatNumber value="12345.12345"/><br>
百分數:<fmt:formatNumber value="12345.12345" type="percent"/><br>
貨幣格式:<fmt:formatNumber value="12345.12345" type="currency"/>
<fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00
<fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0
<fmt:formatNumber value="1234567890" type="currency"/> -- $1,234,567,890.00(那個貨幣的符號和當前web服務器的 local 設定有關)
<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/> -- 123,456.79
<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/> -- 123,456.7
<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/> -- 123,456.70
<fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、 和percent)
數字格式:12,345.123
百分數:1,234,512%
貨幣格式:¥12,345.12
如果對數字格式想保留兩位小數:
<fmt:formatNumber type="number" value="1" pattern="0.00" maxFractionDigits="2"/>
輸出:1.00
${fn:substring(item.transTime,
0, 19)}
輸出:"2017-01-20 18:10:48.0" -> "2017-01-20
18:10:48"