JSTL函数
JSTL包含了一系列标准函数。
引入:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
函数有:
| 函数 | 描述 |
|---|---|
| fn:contains() | 测试输入的字符串是否包含指定的子串 |
| fn:containsIgnoreCase() | 测试输入的字符串是否包含指定的子串,大小写不敏感 |
| fn:endsWith() | 测试输入的字符串是否以指定的后缀结尾 |
| fn:escapeXml() | 跳过可以作为XML标记的字符 |
| fn:indexOf() | 返回指定字符串在输入字符串中出现的位置 |
| fn:join() | 将数组中的元素合成一个字符串然后输出 |
| fn:length() | 返回字符串长度 |
| fn:replace() | 将输入字符串中指定的位置替换为指定的字符串然后返回 |
| fn:split() | 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 |
| fn:startsWith() | 测试输入字符串是否以指定的前缀开始 |
| fn:substring() | 返回字符串的子集 |
| fn:substringAfter() | 返回字符串在指定子串之后的子集 |
| fn:substringBefore() | 返回字符串在指定子串之前的子集 |
| fn:toLowerCase() | 将字符串中的字符转为小写 |
| fn:toUpperCase() | 将字符串中的字符转为大写 |
| fn:trim() | 移除首位的空白符 |
fn:contains() 测试输入的字符串中是否包含指定的字符串
语法:
boolean contains(String,String)
fn:contains(受测试字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<c:out value="${text}" /><br>
<c:if test="${fn:contains(text,'girl')}">
<p><c:out value="has 'girl' in it." /></p>
</c:if>
<c:if test="${fn:contains(text,'boy')}">
<p><c:out value="has 'boy' in it." /></p>
</c:if>
</body>
</html> //结果输出为:
I am a boy
has 'boy' in it.
fn:containsIgnoreCase() 在忽略大小写情况下,测试输入的字符串中是否包含指定的字符串
语法:
boolean containsIgnoreCase(String,String)
fn.containsIgnoreCase(受测试字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<c:out value="${text}" /><br>
<c:if test="${fn:containsIgnoreCase(text,'GIRL')}">
<p><c:out value="has 'GIRL' in it." /></p>
</c:if>
<c:if test="${fn:containsIgnoreCase(text,'BOY')}">
<p><c:out value="has 'BOY' in it." /></p>
</c:if>
</body>
</html> //结果输出为:
I am a boy
has 'BOY' in it.
fn:startsWith() 确定字符串是否以指定字符串开始
语法:
boolean startWith(String,String)
fn:startWith(受测试字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl " />
<p>原字符串:<c:out value="${text}" /></p>
<p>判断是否以I开头:<c:out value="${fn:startsWith(text,'I')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
判断是否以I开头:true
fn:endsWith() 测试字符串是否以指定字符串结尾
语法:
boolean endsWith(String,String)
fn:endsWith(受测试字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl" />
<p>原字符串:<c:out value="${text}" /></p>
<p>判断是否以 girl 结尾:<c:out value="${fn:endsWith(text,'girl')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
判断是否以 girl 结尾:true
fn:escapeXml() 忽略XML标记,同样在<c:out escapeXml="true" />
语法:
java.lang.String escapeXml(String)
fn:escapeXml(字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; ">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="<po> I am a girl </po>" />
<p>原字符串效果:${text}</p>
<p>忽略Xml格式后:${fn:escapeXml(text)}</p> </body>
</html>
//结果输出为:
原字符串效果: I am a girl
忽略Xml格式后:<po> I am a girl </po>
fn:indexOf() 返回指定字符串在该字符串中所在的位置
语法:
int indexOf(String,String)
fn:indexOf(字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl" />
<p>原字符串:<c:out value="${text}" /></p>
<p>am 在其中的位置为:<c:out value="${fn:indexOf(text,'am')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
am 在其中的位置为:2
fn:join() 利用指定分隔符连接数组中所有元素
语法:
String join(String[],String)
fn:join(连接数组,分隔符)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl" />
<p>原字符串:<c:out value="${text}" /></p>
<c:set var="text1" value="${fn:split(text,' ')}" />
<p>最后为:<c:out value="${fn:join(text1,'-')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
最后为:I-am-a-girl
fn:length() 返回字符串长度,或集合个数
语法:
int length(Object)
fn:length(所求长度对象)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl" />
<p>原字符串:<c:out value="${text}" /></p>
<p>该字符串的长度为:<c:out value="${fn:length(text)}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
该字符串的长度为:11
fn:replace() 替换字符串
语法:
boolean replace(String,String,String)
fn:replace(母字符串,替换源,替换目标)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a girl" />
<p>原字符串:<c:out value="${text}" /></p>
<p>将 girl 替换为 boy :<c:out value="${fn:replace(text,'girl','boy')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a girl
将 girl 替换为 boy :I am a boy
fn:split() 利用分隔符分割字符串成为数组
语法:
String[] split(String,String)
fn:split(字符串,分隔符)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>将其转为字符串数组,分隔符为空格:<br>
<c:set var="texts" value="${fn:split(text,' ')}" />
<c:forEach var="item" items="${texts}">
<c:out value="${item}"/><br>
</c:forEach>
</p>
</body>
</html>
//结果输出为:
原字符串:I am a boy
将其转为字符串数组,分隔符为空格:
I
am
a
boy
fn:substring() 截取字符串
语法:
String substring(String,int,int)
fn:substring(字符串,开始位置,结束位置)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>截取 2与8之间的字符串:<c:out value="${fn:substring(text,2,8)}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a boy
截取 2与8之间的字符串:am a b
fn:substringAfter() 截取指定字符串之后的字符串
语法:
String substringAfter(String,String)
fn:substringAfter(字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>截取 a 后面字符串:<c:out value="${fn:substringAfter(text,'a')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a boy
截取 a 后面字符串:m a boy
fn:substringBefore() 截取指定字符串之前的部分
语法:
String substringBefore(String,String)
fn:substringBefore(字符串,指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>截取 a 前面字符串:<c:out value="${fn:substringBefore(text,'a')}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am e boy
截取 a 前面字符串:I am
fn:toLowerCase() 将指定字符串转换为小写
语法:
String toLowerCase(String)
fn:toLowerCase(指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>转换为大写:<c:out value="${fn:toLowerCase(text)}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a boy
转换为大写:i am a boy
fn:toUpperCase() 将指定字符串转换为大写
语法:
String toUpperCase(String)
fn:toUpperCase(指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value="I am a boy" />
<p>原字符串:<c:out value="${text}" /></p>
<p>转换为大写:<c:out value="${fn:toUpperCase(text)}" /></p>
</body>
</html>
//结果输出为:
原字符串:I am a boy
转换为大写:I AM A BOY
fn:trim() 清除字符串首尾空白字符串
语法:
String trim(String)
fn:trim(指定字符串)
eg:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="text" value=" I am a boy " />
<p>原字符串长度:<c:out value="${fn:length(text)}" /></p>
<p>去除首尾空格后长度:<c:out value="${fn:length(fn:trim(text))}" /></p>
</body>
</html>
//结果输出为:
原字符串长度:16
去除首尾空格后长度:10
JSTL函数的更多相关文章
- JSTL函数标签库 fn标签
JSTL函数标签库 fn标签 在使用jstl的函数标签库之前需要在页面中引入: <%@ taglib prefix="fn" uri="http://java.su ...
- 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证
实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...
- 自定义JSTL函数标签(一)
jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...
- Java进阶SQL函数、网页定时刷新与自定义JSTL函数
一.SQL函数 能够在SQL语句中调用的函数(方法) ,用来实现一些小功能 聚合函数 能够把多行数据聚合成一个值(统计) count() 计数,计算数据条数 max() 计算最大值 m ...
- 自己定义JSTL函数
因为 jstl 函数 字符串替换不支持正則表達式 所以想用java String的 replaceAll进行替换 须要自己定义 jstl函数 首先写类 package com.salesmanb2b. ...
- IT兄弟连 JavaWeb教程 使用JSTL函数
在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数. 在JSP中使用Functions标签库,需要通过taglib指令引入该标签库: & ...
- 常用的JSTL函数
下面是JSTL中自带的方法列表以及其描述 函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(na ...
- JSP标准标签库(JSTL)--函数标签库 fn
和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...
- jstl函数的使用
1.fn:contains()和fn:containsIgnoreCase() fn:contains()函数用于确定一个字符串是否包含指定的子串. fn:containsIgnoreCase()函数 ...
随机推荐
- mysql主从切换摘要
1.需要提升为主的从库,停止io线程等待slave数据全部更新完毕 stop slave IO_THREAD #show processlist的输出,直到看到状态是Slave has read al ...
- zk回车事件
private Textbox testTextB; testTextB.addEventListener(Events.ON_OK, new EventListener<Event>() ...
- 2016HUAS暑假集训题1 A-士兵队列训练问题
A - 士兵队列训练问题 Description 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从 ...
- mysql语句中有引号的问题解决方案
在mysql的查询.修改.插入.删除的sql语句里有引号如何处理? 例如: <? $name = "my name is xcxc"; $people = "i'm ...
- Bootstrap css背景图片的设置
一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...
- 【iCore3 双核心板】例程十四:FATFS实验——文件操作
实验指导书及代码包下载: http://pan.baidu.com/s/1dEpechF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- Python强化训练笔记(三)——词频的统计
现有列表如下: [6, 7, 5, 9, 4, 1, 8, 6, 2, 9] 希望统计各个元素出现的次数,可以看作一个词频统计的问题. 我们希望最终得到一个这样的结果:{6:2, 7:1...}即 { ...
- P1311 选择客栈
开始写了一个O(n3)的算法,只得了60,后来思考(找题解),得到了一个O(nk)的算法 其实就是一种预处理的思想,对于每一个客栈而言,只要我们预处理出他前面可以匹配的客栈数量,就可以了. 所以我们记 ...
- EntityFramework 实体拆分与表拆分
摘录自https://msdn.microsoft.com/zh-cn/data/jj591617 * 将实体类型的 CLR 属性映射到数据库中的多个表(实体拆分) 实体拆分允许一个实体类型的属性分散 ...
- Wysiwyg Editors 标签过滤
针对October CMS编辑器插件取消自动过滤DIV标签开关: 找到modules\backend\formwidgets\richeditor\assets\vendor\redactor\red ...