jsp中常用的EL表達式fn:spilt,將\r\n替換成

函數名 函數說明 使用舉例  


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表示,例如<字符應該轉爲&lt;

 ${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, "-", "&#149;")}  

將\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 獲取從某個字符所在位置開始的子串

 ${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"






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章