jsp中常用的EL表达式fn:spilt,将\r\n替换成<br/>

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xb12369/article/details/38559935

函数名 函数说明 使用举例  


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"






猜你喜欢

转载自blog.csdn.net/xb12369/article/details/38559935
今日推荐