`

jstl的c标签FN常用函数使用

阅读更多

在jstl中的fn标签也是我们在网页设计中经常要用到的很关键的标签,在使用的时候要先加上头

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>就可以使用fn标签了。

具体使用方法请参见下表:

 

 

 

函数

 

描述

 

fn:contains(string, substring)

 

如果参数string中包含参数substring,返回true

 

fn:containsIgnoreCase(string, substring)

 

如果参数string中包含参数substring(忽略大小写),返回true

 

fn:endsWith(string, suffix)

 

如果参数 string 以参数suffix结尾,返回true

 

fn:escapeXml(string)

 

将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回

 

fn:indexOf(string, substring)

 

返回参数substring在参数string中第一次出现的位置

 

fn:join(array, separator)

 

将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。

 

fn:length(item)

 

返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。

 

fn:replace(string, before, after)

 

返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果

 

fn:split(string, separator)

 

返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素

 

fn:startsWith(string, prefix)

 

如果参数string以参数prefix

开头,返回true

 

fn:substring(string, begin, end)

 

返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符

 

fn:substringAfter(string, substring)

 

返回参数substring在参数string中后面的那一部分字符串

 

fn:substringBefore(string, substring)

 

返回参数substring在参数string中前面的那一部分字符串

 

fn:toLowerCase(string)

 

将参数string所有的字符变为小写,并将其返回

 

fn:toUpperCase(string)

 

将参数string所有的字符变为大写,并将其返回

 

fn:trim(string)

 

去除参数string 首尾的空格,并将其返回

 

 

 

称呼Functions标签库为标签库,倒不如称呼其为函数库来得更容易理解些。因为Functions标签库并没有提供传统的标签来为JSP页面的工作服务,而是被用于EL表达式语句中。在JSP2.0规范下出现的Functions标签库为EL表达式语句提供了许多更为有用的功能。Functions标签库分为两大类,共16个函数。

长度函数:fn:length

字符串处理函数:fn:contains、fn:containsIgnoreCase、fn:endsWith、fn:escapeXml、fn:indexOf、fn:join、fn:replace、fn:split、fn:startsWith、fn:substring、fn:substringAfter、fn:substringBefore、fn:toLowerCase、fn:toUpperCase、fn:trim

以下是各个函数的用途和属性以及简单示例。

1. 长度函数fn:length函数

长度函数fn:length的出现有重要的意义。在JSTL1.0中,有一个功能被忽略了,那就是对集合的长度取值。虽然java.util.Collection接口定义了size方法,但是该方法不是一个标准的JavaBean属性方法(没有get,set方法),因此,无法通过EL表达式“${collection.size}”来轻松取得。

fn:length函数正是为了解决这个问题而被设计出来的。它的参数为input,将计算通过该属性传入的对象长度。该对象应该为集合类型或String类型。其返回结果是一个int类型的值。下面看一个示例。

<%ArrayList arrayList1 = new ArrayList();

arrayList1.add("aa");

arrayList1.add("bb");

arrayList1.add("cc");

%>

<%request.getSession().setAttribute("arrayList1", arrayList1);%>

${fn:length(sessionScope.arrayList1)}

假设一个ArrayList类型的实例“arrayList1”,并为其添加三个字符串对象,使用fn:length函数后就可以取得返回结果为“3”。

2. 判断函数fn:contains函数

fn:contains函数用来判断源字符串是否包含子字符串。它包括string和substring两个参数,它们都是String类型,分布表示源字符串和子字符串。其返回结果为一个boolean类型的值。下面看一个示例。

${fn:contains("ABC", "a")}<br>

${fn:contains("ABC", "A")}<br>

前者返回“false”,后者返回“true”。

3. fn:containsIgnoreCase函数

fn:containsIgnoreCase函数与fn:contains函数的功能差不多,唯一的区别是fn:containsIgnoreCase函数对于子字符串的包含比较将忽略大小写。它与fn:contains函数相同,包括string和substring两个参数,并返回一个boolean类型的值。下面看一个示例。

${fn:containsIgnoreCase("ABC", "a")}<br>

${fn:containsIgnoreCase("ABC", "A")}<br>

前者和后者都会返回“true”。

4. 词头判断函数fn:startsWith函数

fn:startsWith函数用来判断源字符串是否符合一连串的特定词头。它除了包含一个string参数外,还包含一个subffx参数,表示词头字符串,同样是String类型。该函数返回一个boolean类型的值。下面看一个示例。

${fn:startsWith ("ABC", "ab")}<br>

${fn:startsWith ("ABC", "AB")}<br>

前者返回“false”,后者返回“true”。

5. 词尾判断函数fn:endsWith函数

fn:endsWith函数用来判断源字符串是否符合一连串的特定词尾。它与fn:startsWith函数相同,包括string和subffx两个参数,并返回一个boolean类型的值。下面看一个示例。

${fn:endsWith("ABC", "bc")}<br> ${fn:endsWith("ABC", "BC")}<br>

前者返回“false”,后者返回“true”。

6. 字符实体转换函数fn:escapeXml函数

fn:escapeXml函数用于将所有特殊字符转化为字符实体码。它只包含一个string参数,返回一个String类型的值。

7. 字符匹配函数fn:indexOf函数

fn:indexOf函数用于取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“-1”。它包括string和substring两个参数,返回结果为int类型。下面看一个示例。

${fn:indexOf("ABCD","aBC")}<br> ${fn:indexOf("ABCD","BC")}<br>

前者由于没有匹配成功,所以返回-1,后者匹配成功将返回位置的下标,为1。

8. 分隔符函数fn:join函数

fn:join函数允许为一个字符串数组中的每一个字符串加上分隔符,并连接起来。它的参数、返回结果和描述如表所示:

表 fn:join函数

 

 

参数

 

描述

 

array

 

字符串数组。其类型必须为String[]类型

 

separator

 

分隔符。其类型必须为String类型

 

返回结果

 

返回一个String类型的值

 

下面看一个示例。

<% String[] stringArray = {"a","b","c"}; %>

<%request.getSession().setAttribute("stringArray", stringArray);%>

${fn:join(sessionScope.stringArray,";")}<br>

定义数组并放置到Session中,然后通过Session得到该字符串数组,使用fn:join函数并传入分隔符“;”,得到的结果为“a;b;c”。

9. 替换函数fn:replace函数

fn:replace函数允许为源字符串做替换的工作。它的参数、返回结果和描述如表所示:

表 fn:replace函数

 

 

参数

 

描述

 

inputString

 

源字符串。其类型必须为String类型

 

beforeSubstring

 

指定被替换字符串。其类型必须为String类型

 

afterSubstring

 

指定替换字符串。其类型必须为String类型

 

返回结果

 

返回一个String类型的值

 

下面看一个示例。

${fn:replace("ABC","A","B")}<br>

将“ABC”字符串替换为“BBC”,在“ABC”字符串中用“B”替换了“A”。

10. 分隔符转换数组函数fn:split函数

fn:split函数用于将一组由分隔符分隔的字符串转换成字符串数组。它的参数、返回结果和描述如表所示:

表 fn:split函数

 

 

参数

 

描述

 

string

 

源字符串。其类型必须为String类型

 

delimiters

 

指定分隔符。其类型必须为String类型

 

返回结果

 

返回一个String[]类型的值

 

下面看一个示例。

${fn:split("A,B,C",",")}<br>

将“A,B,C”字符串转换为数组{A,B,C}。

11. 字符串截取函数fn:substring函数

fn:substring函数用于截取字符串。它的参数、返回结果和描述如表所示:

表 fn:substring函数

 

 

参数

 

描述

 

string

 

源字符串。其类型必须为String类型

 

beginIndex

 

指定起始下标(值从0开始)。其类型必须为int类型

 

endIndex

 

指定结束下标(值从0开始)。其类型必须为int类型

 

返回结果

 

返回一个String类型的值

 

下面看一个示例。

${fn:substring("ABC","1","2")}<br>

截取结果为“B”。

      12.起始到定位截取字符串函数 fn:substringBefore 函数

 

       fn:substringBefore 函数允许截取源字符从开始到某个字符串。它的参数和 fn:substringAfter 函数相同,不同的是 substring 表示的是结束字符串。下面看一个示例。

       ${fn:substringBefore("ABCD","BC")}<br>

截取的结果为“ A ”。

        13.小写转换函数 fn:toLowerCase 函数

        fn:toLowerCase 函数允许将源字符串中的字符全部转换成小写字符。它只有一个表示源字符串的参数 string ,函数返回一个 String 类型的值。下面看一个示例。

       ${fn:toLowerCase("ABCD")}<br>

       转换的结果为“ abcd ”。

       14.大写转换函数 fn:toUpperCase 函数

       fn:toUpperCase 函数允许将源字符串中的字符全部转换成大写字符。它与 fn:toLowerCase 函数相同,也只有一个 String 参数,并返回一个 String 类型的值。下面看一个示例。

       ${fn:toUpperCase("abcd")}<br>

       转换的结果为“ ABCD ”。

      15.空格删除函数 fn:trim 函数

       fn:trim 函数将删除源字符串中结尾部分的“空格”以产生一个新的字符串。它与 fn:toLowerCase 函数相同,只有一个 String 参数,并返回一个 String 类型的值。下面看一个示例。

      ${fn:trim("AB C ")}D<br>

      转换的结果为“ AB CD ”,注意,它将只删除词尾的空格而不是全部,因此“ B ”和“ C ”之间仍然留有一个空格

分享到:
评论

相关推荐

    JSP JSTL EL表达式中FN函数使用帮助

    JSP JSTL EL表达式中FN函数使用帮助

    jstl标签 fn函数注解

    java jstl标签 fn函数 注解 针对主要函数介绍

    jstl_fn函数标签库的使用

    此文档是对 jstl中的 fn 函数标签库中的大部分标签做了详细的描述和使用案例介绍 =-

    JSTL_fn标签 字符处理标签

    jstl 字符串处理函数 fn:length、fn:contains 、 fn:containsIgnoreCase 、 fn:endsWith 、 fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split 、 fn:startsWith 、 fn:substring 、 fn:...

    JSTL函数JSTL函数

    JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数

    jstl fn函数 and EL

    jstl fn函数 and ELjstl fn函数 and ELjstl fn函数 and EL

    jstl_fn标签库

    所有jstl_fn标签库,函数标签库中的常用函数,在string字符串中是否包含substring字符串;在string中是否包含substring,忽略其大小写;字符串string是否以字符串prefixstring开头;在string中是substring第一次出现的...

    JSTL标签大全

    JSTL标签大全,涵盖JSTL教程 JSTL标签库使用方法: 标签库 URI 前缀 使用模式 核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname...函数标签库 http://java.sun.com/jstl/functions fn &lt;fn:tagname…&gt;

    JSTL标准标签库

    JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及

    jstl 函数标签 资料

    jstl函数标签,fn:contains(string, substring) 如果参数string中包含参数substring,返回true等

    JSTL标签所需要的tld文件(c.tld、fmt.tld、fn.tld)

    JSTL标签所需要的tld文件,包括 c.tld、fmt.tld、fn.tld 三个 几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解&lt;C:&gt;标签怎么用,其实&lt;fmt:&gt; &lt;fn:&gt;标签也非常好用和实用,找了好久才找到...

    el fn函数.txt

    jstl 的 el表达式 涉及很多fn函数,jstl 的 el表达式 涉及很多fn函数

    自定义EL函数解决JSTL标签不足之处——按字节长度截取字符串

    做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率以及对中文的支持均不够完善,其实最终还是归结为客户要求太高了,不过...

    EL表达式/JSTL复习总结(3)-fmt:formatDate和fn:length函数调用标签

    NULL 博文链接:https://niewj.iteye.com/blog/1886404

    JSTL高级用法

    JSTL标签主要包含核心标签库、格式标签库、SQL标签库、XML标签库和函数标签库共5种标签库。 在使用JSTL标签之前必须在JSP页面的首行使用指令定义标签库的位置和访问前缀,(jstl 1.1)各个标签库的定义如下: 核心...

    JSTL - Function标记库详解

    称呼 Functions 标签库为标签库,倒不如称呼其为函数库来得更容易理解些。因为 Functions 标签库并没有提供传统的标签来为 JSP 页面的工作服务,而是被用于 EL 表达式语句中。在 JSP2.0 规范下出现的 Functions 标签...

    EL表达式截取字符串的函数说明

    函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一个字符串 &lt;c test=${fn:contains(name,&gt; fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) &lt;c:if test=${

    如何使用jstl将在一个页面上显示多个复选框默认的勾选状态?

    第一步:引入Jstl的函数库 第二步:调用fn:contains(arg1,arg2)函数 ,前面一个参数agr1是从数据库中取出的爱好的字符串(即原字符串)。后面一个是被包含的字符串,如果原字符串包含后面的字符串,那么这个复选...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

Global site tag (gtag.js) - Google Analytics