JSTL函数标签库的fn标签

时间:2022-11-16 15:42:48

在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中的字符数。

Html代码  JSTL函数标签库的fn标签
  1. <body>         
  2.     <%  
  3.         String a[] = {"aa","bb","cc","dd"};  
  4.         request.setAttribute("array",a);  
  5.         request.setAttribute("store","guomei8899");  
  6.     %>   
  7.     <c:if test="${fn:contains('guomeiddd','guoMei')}">ok</c:if><br>  
  8.     <c:if test="${fn:containsIgnoreCase(store,'guoMei')}">ok ok</c:if><br>  
  9.     <c:if test="${fn:endsWith(store,'99')}">end</c:if><br>  
  10.     <c:out value="${fn:escapeXml('<>')}"/><br>  
  11.     <c:out value="${fn:indexOf(store,'om')}"/><br>  
  12.     <c:out value="${fn:join(array,'|')}"/><br>  
  13.     <c:out value="${fn:length(array)}"/><br>  
  14. </body>  

  15. 结果:
  16. ok ok
    end
    &lt;&gt;
    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 首尾的空格,并将其返回。

Html代码  JSTL函数标签库的fn标签
  1. <body>         
  2.     <%  
  3.         String a[] = {"aa","bb","cc","dd"};  
  4.         request.setAttribute("array",a);  
  5.         request.setAttribute("store","guomei8899");  
  6.         request.setAttribute("user","u1,u2,u3,u4,u5");  
  7.         request.setAttribute("test","aBcDeF   ");  
  8.     %>   
  9.     <c:out value="${fn:replace(store,'8','9')}"/><br>  
  10.     <c:out value="${fn:split(user,',')[0]}"/><br>  
  11.     <c:out value="${fn:startsWith(store,'g')}"/><br>  
  12.     <c:out value="${fn:substring(store,2,5)}"/><br>  
  13.     <c:out value="${fn:substringAfter(store,'mei')}"/><br>  
  14.     <c:out value="${fn:substringBefore(store,'mei')}"/><br>  
  15.     <c:out value="${fn:toLowerCase(test)}"/><br>  
  16.     <c:out value="${fn:toUpperCase(test)}"/><br>  
  17.     <c:out value="${test}hoho"/><br>  
  18.     <c:out value="${fn:trim(test)}hoho"/><br>  
  19. </body>  
  20. 结果dd guomei9999
    u1
    true
    ome
    8899
    guo
    abcdef 
    ABCDEF 
    aBcDeF hoho
    aBcDeFhoho