日期:2014-05-16  浏览次数:20317 次

jstl处理字符串的一些常用函数

jstl中内置了一些处理字符串的常用函数,要使用这些常用函数呢,需要在jsp文件开头处加入一段代码:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

然后在jsp中调用函数的方式:${ns:methodName(args....)}? 其中ns对应上段代码中声明的prefix 即fn。

有了这些函数就可以省去一些代码。比如不必将某些不是string的变量转换成string,就可以直接用这些函数做一些字符串的处理。看起来也比<%%>这个美观一些(个人感觉)。今天就写这么多,下一篇会写写jstl在格式化方面的东西。

下面是JSTL中自带的方法列表以及其描述

函数名 函数说明 使用举例
?contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">
?containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">
?endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">
?escapeXml 把一些字符转成XML表示,例如<字符应该转为&lt; ${fn:escapeXml(param:info)}
?indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}
?join 将数组中的数据联合成一个新字符串,并使用指定字符隔开 ${fn:join(array, ";")}
?length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}
?replace 替换字符串中指定的字符

${fn:replace(text, "-", "&#149;")}

?split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
?startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">
?substring 获取子串 ${fn:substring(zip, 6, -1)}
?substringAfter

获取从某个字符所在位置开始的子串

${fn:substringAfter(zip, "-")}
?substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}
?toLowerCase 转为小写