jstl与el结合常见用法
JSTL Functions标签库
在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库:
<%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn” %>.
本章将介绍Functions标签库中常用的16个函数的用法,这些函数的名字及作用与java.lang.String类中的相应方法很相似。例如:fn:indexOf函数与类String类的indexOf()方法的作用相似,fn:substring函数与String类的substring()方法的作用相似。
1fn:contains函数
fn:contains函数用于判断在源字符串中是否包含目标字符串,其语法为:
fn:contains(String source,String target) -------boolean;
以上source参数指定源字符串,target参数指定目标字符串,返回类型为boolean。
例如对于以下EL表达式:
${fn:contains(“Tomcat”,”cat”)}
${fn:contains(“Tomcat”,”CAT”)}
第一个EL表达式的值为true,第二个EL表达式的值为false。
2fn:containsIgnoreCase函数
fn:containsIgnoreCase函数用于判断在源字符串中是否包含目标字符串,并且在判断时忽略大小写,其语法为:
fn: containsIgnoreCase (String source,String target) -------boolean;
以上source参数指定源字符串,target参数指定目标字符串,返回类型为boolean。
例如对于以下EL表达式:
${fn: containsIgnoreCase (“Tomcat”,”CAT”)}
${fn: containsIgnoreCase (“Tomcat”,”Mike”)}
第一个EL表达式的值为true,第二个EL表达式的值为false。
3 fn:startsWith函数
fn:startsWith函数用于判断源字符串是否以指定的目标字符串开头,其语法为:
fn:startsWith(String source,String target) ----boolean
以上source参数指定源字符串,target参数指定目标字符串,返回类型为boolean。
例如对于以下EL表达式:
${fn: startsWith (“Tomcat”,”Tom”)}
${fn: startsWith (“Tomcat”,”cat”)}
第一个EL表达式的值为true,第二个EL表达式的值为false。
4 fn:endsWith函数
fn: endsWith函数用于判断源字符串是否以指定的目标字符串结尾,其语法为:
fn: endsWith (String source,String target) ----boolean
以上source参数指定源字符串,target参数指定目标字符串,返回类型为boolean。
例如对于以下EL表达式:
${fn: endsWith (“Tomcat”,”cat”)}
${fn: endsWith (“Tomcat”,”Tom”)}
第一个EL表达式的值为true,第二个EL表达式的值为false。
5 fn:indexOf函数
fn:indexOf函数用于在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引,如果在源字符串中不包含目标字符串,就返回-1,源字符串中的第一个字符的索引为0。 fn:indexOf函数的语法为:
fn: indexOf (String source,String target) ----int
以上source参数指定源字符串,target参数指定目标字符串,返回类型为int。
例如对于以下EL表达式:
1 ${fn: indexOf (“Tomcat”,”cat”)}<br/>
2 ${fn: indexOf (“2211221”,”21”)} <br/>
3 ${fn: indexOf (“Tomcat”,”Mike”)} <br/>
其输出结果为:
1 3
2 1
3 -1
6 fn:replace函数
fn:replace函数用于把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。fn:replace函数的语法为:
fn: replace (String source,String before,String after) ----String
以上source参数指定源字符串,before参数指定源字符串中被替换的子字符串,after参数指定用于替换的子字符串,返回类型为String。
例如对于以下EL表达式:
1 ${ fn: replace(“TomcAt”,”cAt”,”cat”)}<br/>
2 ${ fn: replace(“2008/1/9”,”/”,”-”)}<br/>
其输出结果为:
1 Tomcat
2 2008-1-9
7 fn:substring函数
fn:substring函数用于获取源字符串中的特定子字符串,它的语法为:
fn:substring(String source,int beginIndex,int endIndex) ------String
以上source参数指定源字符串,beginIndex参数表示子字符串中的第一个字符在源字符串中的索引,endIndex参数表示子字符串的最后一个字符在源字符串中的索引加1,返回类型为String,源字符串中的第一个字符的索引为0。
例如对于以下EL表达式:
1 ${ fn: substring (“Tomcat”,0,3)}<br/>
2 ${ fn: substring (“Tomcat”,3,6)}<br/>
其输出结果为:
1 Tom
2 cat
8 fn:substringBefore函数
fn:substringBefore函数用于获取源字符串中指定子字符串之前的子字符串,其语法为:
fn:substringBefore(String source,String target) ----String
以上source参数指定源字符串,target参数指定子字符串,返回类型为String。如果在源字符串中不包含特定子字符串,就返回空字符串。
例如对于以下EL表达式:
1 ${ fn: substringBefore (“Tomcat”,”cat”)}<br/>
2 ${ fn: substringBefore (“mydata.txt”,”.txt”)}<br/>
其输出结果为:
1 Tom
2 mydata
9 fn:substringAfter函数
fn: substringAfter函数用于获取源字符串中指定子字符串之后的子字符串,其语法为:
fn: substringAfter (String source,String target) ----String
以上source参数指定源字符串,target参数指定子字符串,返回类型为String。如果在源字符串中不包含特定子字符串,就返回空字符串。
例如对于以下EL表达式:
1 ${ fn: substringAfter (“Tomcat”,”Tom”)}<br/>
2 ${ fn: substringAfter (“mydata.txt”,” mydata.”)}<br/>
其输出结果为:
1 cat
2 txt
10 fn:split函数
fn:split函数用于将源字符串拆分为一个字符串数组,其语法为:
fn: split (String source,String delimiter) ----String[]
以上source参数指定源字符串,delimiter参数指定用于拆分源字符串的分隔符,返回类型为String[]。如果在源字符串中不包含delimiter参数指定的分隔符,或者delimiter参数为null,那么在返回的字符串数组中只有一个元素,为源字符串。
例如对于以下EL表达式:
<c:set value=’${ fn: split (“www.mywebsite.org”,”.”)}’ var=”strs”/>
<c:forEach var=”token” item=”${strs}”>
${token}<br/>
</c:forEach>
其输出结果为:
www
mywebsite
org
再例如对于以下代码:
<c:set value=’${ fn: split (“www.mywebsite.org”,”-”)}’ var=”strs”/>
${strs[0]}
其输出结果为:
www.mywebsite.org
11 fn:join函数
fn:join函数用于将源字符串数组中的所有字符串连接为一个字符串,其语法为:
fn:join(String source[],String separator) ----String
以上source参数指定源字符串数组,separator参数指定用于连接源字符串数组中的各个字符串的分隔符,返回类型为String。
例如对于以下代码:
<%
String strs[] = {“www”,”mywebsite”,”org”};
%>
<c:set value=”<%=strs%>” var=”strs”/>
${fn:join(strs,”.”)}
其输出结果为:
www. mywebsite. org
12 fn:toLowerCase函数
fn:toLowerCase函数用于将源字符串中的所有字符改为小写,其语法为:
fn:toLowerCase(String source) -----String
以上source参数指定源字符串,返回类型为String。
例如对于以下EL表达式:
fn:toLowerCase(“TomCat”)
其输出结果为:
tomcat
fn:toUpperCase函数
fn: toUpperCase函数用于将源字符串中的所有字符改为大写,其语法为:
fn: toUpperCase (String source) -----String
以上source参数指定源字符串,返回类型为String。
例如对于以下EL表达式:
fn: toUpperCase (“TomCat”)
其输出结果为:
TOMCAT
14 fn:trim函数
fn:trim函数用于将源字符串中的开头和末尾的空格删除,其语法为:
fn:trim(String source) ----String
以上source参数指定源字符串,返回类型为String。
例如对于以下EL表达式:
fn:trim(“ Tomcat ”)
以上EL表达式的值为“Tomcat”。
15 fn:escapeXml函数
fn:escapeXml函数用于将源字符串中的字符“<”、“>”、“””和“&”等转换为转义字符,本书第1章的1.2节(HTML简介)介绍了转义字符的概念。fn:escapeXml函数的行为与<c:out>标签的escapeXml属性为true时的转换行为相同,fn:escapeXml函数的语法为:
fn:escapeXml(String source) ----String
以上source参数指定源字符串,返回类型为String。
例程18-1的out.jsp演示了fn:escapeXml函数的用法。
例程18-1 out.jsp
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>out</title> </head> <body> 1.${fn:escapeXml("<b>表示粗体字</b>") }<br/> 2.<c:out value="<b>表示粗体字</b>" escapeXml="true"></c:out><br/> 3.${"<b>表示粗体字</b>"}<br/> </body> </html> |
对于out.jsp中的以下代码:
1.${fn:escapeXml("<b>表示粗体字</b>") }<br/>
2.<c:out value="<b>表示粗体字</b>" escapeXml="true"></c:out><br/>
3.${"<b>表示粗体字</b>"}<br/>
其输出结果为:
1.<b>表示粗体字</b><br/>
2.<b>表示粗体字</b><br/>
3.<b>表示粗体字</b><br/>
out.jsp的输出结果在浏览器中的显示效果如图18-1所示。
图18-1 out.jsp页面
16 fn:length函数
fn:length函数用于返回字符串中的字符的个数,或者集合和数组的元素的个数,其语法为:
fn:length(source) ---- int
以上source参数可以为字符串、集合或者数组,返回类型为int。
例程18-2的length.jsp演示了fn:length函数的用法。
例程18-2 length.jsp
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@page import="java.util.ArrayList"%> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>length</title> </head> <body> <% int[] array = {1,2,3,4}; ArrayList list = new ArrayList(); list.add("one"); list.add("two"); list.add("three"); %> <c:set value="<%=array%>" var="array"></c:set> <c:set value="<%=list%>" var="list"></c:set> 数组长度:${fn:length(array)}<br/> 集合长度:${fn:length(list)}<br/> 字符串长度:${fn:length("Tomcat")}<br/> </body> </html> |
通过浏览器方位length.jsp,得到的页面如图18-2所示。
图18-2 length.jsp
17 小结
Functions标签库提供了一些通用的EL函数,包括以下几种。
l fn:contains函数:用于判断在源字符串中是否包含目标字符串。
l fn:containsIgnoreCase函数:用于判断在源字符串中是否包含目标字符串,并且在判断时忽略大小写。
l fn:startsWith函数:用于判断源字符串是否以指定的目标字符串开头。
l fn: endsWith函数:用于判断源字符串是否以指定的目标字符串结尾。
l fn:indexOf函数:用于在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引。
l fn:replace函数:用于把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。
l fn:substring函数:用于获取源字符串中的特定子字符串。
l fn:substringBefore函数:用于获取源字符串中指定子字符串之前的子字符串。
l fn: substringAfter函数:用于获取源字符串中指定子字符串之后的子字符串
l fn:split函数:用于将源字符串拆分为一个字符串数组。
l fn:join函数:用于将源字符串数组中的所有字符串连接为一个字符串。
l fn:toLowerCase函数:用于将源字符串中的所有字符改为小写。
l fn: toUpperCase函数:用于将源字符串中的所有字符改为大写。
l fn:trim函数:用于将源字符串中的开头和末尾的空格删除。
l fn:escapeXml函数:用于将源字符串中的字符“<”、“>”、“””和“&”等转换为转义字符。
l fn:length函数:用于返回字符串中的字符的个数,或者集合和数组的元素的个数
jstl与el结合常见用法的更多相关文章
- 第一章 EL表达式常见用法
el最常用的几种使用场景: 从配置文件中读取属性 缺失值情况下,配置默认值 el内部字符串使用String的方法 三目运算符 正则表达式 注入系统属性(system properties) 调用系统原 ...
- 【转】JSP中的JSTL与EL表达式用法及区别
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL ...
- jsp中的JSTL与EL表达式用法及区别
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- jstl,el表达式
在上一篇中,我们写了将数据传到jsp页面,在jsp页面进行展示数组,但是我们发现,在jsp页面写代码是一件很烦的事,一个循环要拆成两部分,例如for循环,在例如if语句: <%int a=22; ...
- JSTL与EL与OGNL
springMVC使用JSTL与EL表达式: spring MV默认的jsp页面的标签就是JSTL,而struts2默认的是OGNL标签. struts2 使用OGNL与EL表达式:OGNL用stru ...
- JSTL和EL简介
EL Expression Language,表达式语言,通过操作存在于PageContext等的数据,实现JSP的编写更加简单,单纯使用EL不用引入jar包,只要容器支持即可. EL的隐含对象 EL ...
随机推荐
- 神奇的幻方 noip2015day1 T1
题目描述 Description 幻方是一种很神奇的N∗N矩阵:它由数字 1,2,3, … … ,N∗N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个 ...
- git 拉取远程分支 --本地分支不存在
git checkout -b 本地分支名 origin/远程分支名
- js for循环中的var与let
var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); 上面代码 ...
- [bzoj1131][POI2008]Sta_树形dp
Sta bzoj-1131 POI-2008 题目大意:给定一棵n个点的树,求一个根,使得深度和最大. 注释:$1\le n \le 10^6$. 想法:扭一扭即可. 扭的时候看看这个点当没当过根. ...
- SSM(spring mvc+spring+mybatis)学习路径——2-1、spring MVC入门
目录 2-1 Spring MVC起步 一.回顾Servlet 二.SpringMVC简介 三.搭建SpringMVC第一个案例 四.简单流程及配置 五.使用注解开发Controller 六.参数绑定 ...
- java获取类名不包括路径
class.getSimpleName(),就能获得仅仅的类名 class.getName()获得的是全路径的类名
- HDU 2206 IP的计算(字符串处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...
- SEO优化之外链的末日来临
告诉大家一个好消息,以后不用再为外链的事情发愁了.难道是有好的外链工具?不是,而是百度已经取消外链了. 今天在百度上看到一篇文章:"SEO春天来了.百度取消外链".点击进去一看,吓 ...
- 熊猫猪新系统測试之中的一个:Windows 10 技术预览版
话说本猫不用windows非常多年了呀! 只是看到微软最新的Windows10还是手痒了.想安装体验一把. 于是第一时间下载,并做成usb引导安装镜像,在08年的老台式机上安装尝鲜鸟.下载ISO和安装 ...
- hdu 1242(BFS+优先队列)
Rescue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...