在JSTL中也提供了一些标准的函数,但是几乎都是和操作字符串相关的函数,如果需要使用这类函数的话,应该引入下面的taglib:

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

下面就对这些函数做个大概的介绍吧:

  1. fn:contains()

boolean contains(String, String);
     判断输入的字符串中是否包含指定的字符串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body> <c:set var="theString" value="I am a test String"/>
<c:if test="${fn:contains(theString, 'test')}">
<p>Found test string<p>
</c:if>
<c:if test="${fn:contains(theString, 'TEST')}">
<p>Found TEST string<p>
</c:if>
</body>
</html>

Result:

Found test string

  2. fn:containsIgnoreCase()

boolean containsIgnoreCase(String, String);
     判断输入的字符串中是否包含指定的字符串,在匹配过程中不区分大小写。
Example:
同上。
Result:

Found test string
Found TEST string

  3. fn:startsWith()

boolean startsWith(String, String);
     判断输入的字符串中是否包含指定的前缀。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="theString" value="I am a test String 123"/>
<c:if test="${fn:startsWith(theString, ‘I am')}">
<p>String starts with I am<p>
</c:if>
<c:if test="${fn:startsWith(theString, 'TEST')}">
<p>String starts with TEST<p>
</c:if>
</body>
</html>

Result:

String starts withI am

  4. fn:endsWith()

boolean endsWith(String, String);
     判断输入的字符串中是否包含指定的后缀。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="theString" value="I am a test String 123"/>
<c:if test="${fn:endsWith(theString, '123')}">
<p>String ends with 123<p>
</c:if>
<c:if test="${fn:endsWith(theString, 'TEST')}">
<p>String ends with TEST<p>
</c:if>
</body>
</html>

Result:

String ends with123

  5. fn:escapeXML()
     String escapeXML(String);
     忽略输入字符串中的xml标签,以纯文本对待。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="This <abc>is second String.</abc>"/>
<p>With escapeXml() Function:</p>
<p>string (1) : ${fn:escapeXml(string1)}</p>
<p>string (2) : ${fn:escapeXml(string2)}</p>
<p>Without escapeXml() Function:</p>
<p>string (1) : ${string1}</p>
<p>string (2) : ${string2}</p>
</body>
</html>

Result:

With escapeXml()Function:
string(1):This is first String.
string(2):This<abc>is second String.</abc>
Without escapeXml()Function:
string(1):This is first String.
string(2):This is second String.

  6. fn:indexOf()

int indexOf(String, String);
     返回在输入字符串中指定字符串第一次出现的下标,如果不存在则返回-1。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="This <abc>is second String.</abc>"/>
<p>Index (1) : ${fn:indexOf(string1, "first")}</p>
<p>Index (2) : ${fn:indexOf(string2, "second")}</p>
</body>
</html>

Result:

Index(1):8
Index(2):13

  

  7. fn:join()

String join(String[ ], String);     
     将数组中的所有元素用指定的分隔符连接成一个字符串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:split(string1, ' ')}"/>
<c:set var="string3" value="${fn:join(string2, '-')}"/>
<p>Final String : ${string3}</p>
</body>
</html>

Result:

Final String:This-is-first-String.

  8. fn:split()

String[ ] split(String, String);
     用指定的分隔符将输入的字符创分割成一个字符串数组。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:split(string1, ' ')}"/>
<c:set var="string3" value="${fn:join(string2, '-')}"/>
<p>String (3) : ${string3}</p>
<c:set var="string4" value="${fn:split(string3, '-')}"/>
<c:set var="string5" value="${fn:join(string4, ' ')}"/>
<p>String (5) : ${string5}</p>
</body>
</html>

Result:

String(3):This-is-first-String.
String(5):This is first String.

  9. fn:length()
     int length(Object);
     返回一个字符串的长度或者一个集合中元素的个数。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="This is second String."/>
<p>Length of String (1) : ${fn:length(string1)}</p>
<p>Length of String (2) : ${fn:length(string2)}</p>
</body>
</html>

Result:

Length of String(1):21
Length of String(2):22

  

  10. fn:replace()

boolean replace(String, String, String);
     将一个字符串中的指定字符串替换成为其他字符串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:replace(string1, 'first', 'second')}"/>
<p>Final String : ${string2}</p>
</body>
</html>

Result:

Final String:This is second String.

  11. fn:substring()

String substring(String, int, int);
     返回一个字符串中指定起始位置和终止位置的字串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:substring(string1, 5, 15)}"/>
<p>Final substring : ${string2}</p>
</body>
</html>

Result:

Final substring:is first S

  12. fn:substringBefore()

String substringBefore(String, String);
     返回输入字符串中指定字符串之前的字串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:substringBefore(string1, 'is')}"/>
<p>Final substring : ${string2}</p>
</body>
</html>

Result:

Final substring: This 

  13. fn:substringAfter()

String substringAfter(String, String);
     返回输入字符串中指定字符串之后的字符串。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:substringAfter(string1, 'is')}"/>
<p>Final substring : ${string2}</p>
</body>
</html>

Result:

Final substring:is first String.

  14. fn:toLowerCase()

String toLowerCase(String);
     将输入字符串转换成小写字母。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:toLowerCase(string1)}"/>
<p>Final string : ${string2}</p>
</body>
</html>

Result:

Final string:this is first string.

  15. fn:toUpperCase()

String toUpperCase(String);
     将输入的字符串转换成大写字母。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:toUpperCase(string1)}"/>
<p>Final string : ${string2}</p>
</body>
</html>

Result:

Final string: THIS IS FIRST STRING.

  16. trim()

String trim(String);
     去除输入字符串中开始和末尾的空格。
Example:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>
<c:set var="string1" value="This is first String"/>
<p>String (1) Length : ${fn:length(string1)}</p>
<c:set var="string2" value="${fn:trim(string1)}"/>
<p>String (2) Length : ${fn:length(string2)}</p>
<p>Final string : ${string2}</p>
</body>
</html>

Result:

String(1) Length:29
String(2) Length:20
Final string:This is first String

JSTL Tag学习笔记之<fn: />的更多相关文章

  1. JSTL Tag学习笔记(二)之<fmt: />

    JSTL的formatting tags可以用来格式化和显示文本.日期.时间.数字.如果在JSP页面中要用到该库提供的tag的话,需要引入如下taglib: <%@ taglib prefix= ...

  2. JSTL Tag学习笔记(一)之<c: />

    注:本文中的例子主要来自http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm.  ======================= ...

  3. 【EL&JSTL】学习笔记

    一.EL表达式(形式:${ }) 1. 1 EL运算符 算术运算符: +.-.*./.% 示例 结果 ${1+1} 2 ${1-1} 0 ${1*3} 3 ${3/2} 1.5 ${5%3} 2 关系 ...

  4. [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. git分支管理与tag的学习笔记

    git分支管理学习笔记:创建dev分支:git branch dev查看分支:git branch切换分支:git checkout dev创建并切换分支:git checkout dev -b zh ...

  6. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  7. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  8. 【Ext.Net学习笔记】02:Ext.Net用法概览、Ext.Net MessageBus用法、Ext.Net布局

    Ext.Net用法概览 Ext.Net还是很强大,如果运用熟练可以极大的提高编程效率.如果你也要学习Ext.Net,原文博主推荐书籍:<Ext.Net Web 应用程序开发教程>,是英文的 ...

  9. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

随机推荐

  1. 条款10:令operator=返回一个*this的引用

    为了编程的简洁性,有时候需要串联赋值,如:x = y = z = 15; 由于赋值采用右结合,因此上述语句被解释为:x = (y = (z = 15)); 为了实现串联赋值,复制操作符函数必须返回一个 ...

  2. django概述

    一.django的特点 1.提供一体化的web解决方案,什么叫一体化:mvc 2.等你玩儿牛逼了可以拔插组件,换成自己顺手或者更牛逼的组件

  3. 动态链接库知识点归纳之一(DLL概念,如何建立,如何使用,如何优化,如何查看)

    简单的总结一些动态链接库的一些知识,方便以后查找. 首先,新建一个动态链接库 (1)      打开编辑器,选择WIN32项目, dll,如下图,项目名字为:test,选择空项目.如下图 (2)    ...

  4. ERP系统实施与企业内部控制管理实践

    COSO内部控制体系包含5 个要素,分别为控制环境.风险评估.控制活动.信息与沟通.监督,涉及公司层面的控制.业务活动的控制以及信息系统总体控制.随着ERP系统的上线运行,企业的内部控制体系建设应与E ...

  5. 【收藏】Linux下tomcat内存配置

    常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space ...

  6. 查询sql耗时(运行时间)

    SET STATISTICS TIME ON SELECT * FROM dbo.UserBase SET STATISTICS TIME OFF

  7. android开发 替换bitmap中的颜色值

    /** * 将bitmap中的某种颜色值替换成新的颜色 * @param bitmap * @param oldColor * @param newColor * @return */ public ...

  8. 成为嵌入式程序员应知道的0x10个基本问题

    预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 2 ...

  9. SqlServer 全局变量

    1.@@ERROR 返与@@ERROR 近语句错误码局限于DML语句select语句执行现错误则返等于0错误码没错则返0通使用判断语句没执行功 -- Create Schema if not one ...

  10. Bootstrap的宽度和分辨率的差别

    首先在bootstrap里面所有的样式并在pc上是根据px的单位来判断的,就是我们说的分辨率, @media(min-width:1200px){ ......里面的样式 } 那么就是说当你的屏幕放大 ...