在jsp页面上经常遇到得到集合长度、字符长度、字符切取等应用需,在2.0以前这种需是许多程序员对JSTL及为不满意的地方之一。为此在2.0 中添加了functions标签,其提供对以上需求的支持。
在使用jstl的函数标签库之前需要在页面中引入:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
1、fn:contains(string, substring)
如果参数string中包含参数substring,返回true。
2、fn:containsIgnoreCase(string, substring)
如果参数string中包含参数substring(忽略大小写),返回true
3、fn:endsWith(string, suffix)
如果参数 string 以参数suffix结尾,返回true。
4、fn:indexOf(string, substring)
返回参数substring在参数string中第一次出现的位置。
5、fn:join(array, separator)
将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
6、fn:length(item)
返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。
- <body>
- <%
- String a[] = {"aa","bb","cc","dd"};
- request.setAttribute("array",a);
- request.setAttribute("store","guomei8899");
- %>
- <c:if test="${fn:contains('guomeiddd','guoMei')}">ok</c:if><br>
- <c:if test="${fn:containsIgnoreCase(store,'guoMei')}">ok ok</c:if><br>
- <c:if test="${fn:endsWith(store,'99')}">end</c:if><br>
- <c:out value="${fn:escapeXml('<>')}"/><br>
- <c:out value="${fn:indexOf(store,'om')}"/><br>
- <c:out value="${fn:join(array,'|')}"/><br>
- <c:out value="${fn:length(array)}"/><br>
- </body>
- 结果:
- ok ok
end
<>
2
aa|bb|cc|dd
4
7、fn:replace(string, before, after)
返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果。
8、fn:substring(string, begin, end)
返回参数string部分字符串, 从参数begin开始到参数end位置。
9、fn:substringAfter(string, substring)
返回参数substring在参数string中后面的那一部分字符串。
10、fn:substringBefore(string, substring)
返回参数substring在参数string中前面的那一部分字符串。
11、fn:toLowerCase(string)
将参数string所有的字符变为小写,并将其返回。
12、fn:toUpperCase(string)
将参数string所有的字符变为大写,并将其返回。
13、fn:trim(string)
去除参数string 首尾的空格,并将其返回。
- <body>
- <%
- String a[] = {"aa","bb","cc","dd"};
- request.setAttribute("array",a);
- request.setAttribute("store","guomei8899");
- request.setAttribute("user","u1,u2,u3,u4,u5");
- request.setAttribute("test","aBcDeF ");
- %>
- <c:out value="${fn:replace(store,'8','9')}"/><br>
- <c:out value="${fn:split(user,',')[0]}"/><br>
- <c:out value="${fn:startsWith(store,'g')}"/><br>
- <c:out value="${fn:substring(store,2,5)}"/><br>
- <c:out value="${fn:substringAfter(store,'mei')}"/><br>
- <c:out value="${fn:substringBefore(store,'mei')}"/><br>
- <c:out value="${fn:toLowerCase(test)}"/><br>
- <c:out value="${fn:toUpperCase(test)}"/><br>
- <c:out value="${test}hoho"/><br>
- <c:out value="${fn:trim(test)}hoho"/><br>
- </body>
-
结果dd guomei9999
u1
true
ome
8899
guo
abcdef
ABCDEF
aBcDeF hoho
aBcDeFhoho