由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用。

准备工作:
1)导入jar包:standard.jar和jstl.jar
2)在页面中使用JSTL定义的EL函数:
<%@  taglib  uri="http://java.sun.com/jsp/jstl/functions"   prefix="fn"%

示例:
转小写: ${fn:toLowerCase("www.ITCAST.Cn")}
转大写: ${fn:toUpperCase("www.ITCAST.Cn")}
求长度: ${fn:length("  j i m  ")}
去空格求长度:${fn:length(fn:trim("  j i m  "))}
拆分字符串:  ${fn:split("www@itcast@cn","@")[0]}

<%
String[] strArray = {"haha","hehe","hoho"};
pageContext.setAttribute("STRARRAY",strArray); 
%>
拼接字符串:  ${fn:join(STRARRAY,"@")}
查找: ${fn:indexOf("www.itcast.cn","qq")

包含1: ${fn:contains("WWW.itcast.cn","www")}
包含2: ${fn:containsIgnoreCase("WWW.itcast.cn","www")}

以XX开头:  ${fn:startsWith("www.itcast.cn","www")}
以YY结束:  ${fn:endsWith("www.itcast.cn","www")}

替换: ${fn:replace("www.itcast.cn",".","#")}

截取: ${fn:substring("www.itcast.cn",11,13)}
截取After:  ${fn:substringAfter("www.itcast.cn",".")}
截取Before:  ${fn:substringBefore("www.itcast.cn",".")}

注意:EL函数可以不限层次嵌套,只需使用一次$即可

细节:
1) fn:length函数返回一个集合或数组大小,或返回一个字符串中包含的字符的个数,返回值为int类型。fn:length函数接收一个参
数,这个参数可以是<c:forEach>标签的items属性支持的任何类型,包括任意类型的数组、java.util.Collection、java.util.Iterator、
java.util.Enumeration、java.util.Map等类的实例对象和字符串。如果fn:length函数的参数为null或者是元素个数为0的集合
或数组对象,则函数返回0;如果参数是空字符串,则函数返回0。

2) fn:split函数接收两个字符串类型的参数,第一个参数表示要分割的字符串,第二个参数表示作为分隔符的字符串。

3) fn:join函数以一个字符串作为分隔符,将一个字符串数组中的所有元素合并为一个字符串并返回合并后的结果字符串。
fn:join函数接收两个参数,第一个参数是要操作的字符串数组,第二个参数是作为分隔符的字符串。
如果fn:join函数的第二个参数是空字符串,则fn:join函数的返回值直接将元素连接起来。例如:
假设stringArray是保存在Web域中的一个属性,它表示一个值为{"www","it315","org"}的字符串数组,则fn:join(stringArray, “.")
返回字符串“www.it315.org”。
fn:join(fn:split("www,it315,org", ","), ".") 的返回值为字符串“www.it315.org”

4) fn:indexOf函数返回指定字符串在一个字符串中第一次出现的索引值,返回值为int类型。
fn:indexOf函数接收两个字符串类型的参数,如果第一个参数字符串中包含第二个参数字符串,那么,不管第二个参数字符串在
第一个参数字符串中出现几次,fn:indexOf函数总是返回第一次出现的索引值;
如果第一个参数中不包含第二个参数,则fn:indexOf函数返回-1;
如果第二个参数为空字符串,则fn:indexOf函数总是返回0。

5) fn:contains函数检测一个字符串中是否包含指定的字符串,返回值为布尔类型。fn:contains函数在比较两个字符串是否相等时是
大小写敏感的。

6) fn:replace函数将一个字符串中包含的指定子字符串替换为其它的指定字符串,并返回替换后的结果字符串。fn:replace方法接收
三个字符串类型的参数:
第一个参数表示要操作的源字符串;
第二个参数表示源字符串中要被替换的子字符串;
第三个参数表示要被替换成的字符串。例如:
fn:replace("www it315 org", " ", ".")的返回值为字符串“www.it315.org”

7) fn:substring函数用于截取一个字符串的子字符串并返回截取到的子字符串。fn:substring函数接收三个参数:
第一个参数是用于指定要操作的源字符串;
第二个参数是用于指定截取子字符串开始的索引值;
第三个参数是用于指定截取子字符串结束的索引值;
第二个参数和第三个参数都是int类型,其值都从0开始。例如:
fn:substring("www.it315.org", 4, 9) 的返回值为字符串“it315”

8) fn:substringAfter函数用于截取并返回一个字符串中的指定子字符串第一次出现之后的子字符串。fn:substringAfter函数接收两
个字符串类型的参数:
第一个参数表示要操作的源字符串;
第二个参数表示指定的子字符串,例如:
fn:substringAfter(“www.it315.org”, “.”)的返回值为字符串“it315.org”。
与之对应的EL函数为:fn:substringBefore

jsp中常用操作字符串的el表达式的更多相关文章

  1. javascript中常用操作字符串的几种方法charAt()、indexOf()、slice()、substr()

    一.charAt(index) 返回一个字符串某一个索引的字符. 语法:str.charAt(index); var str='我是中国人'; console.log(str.charAt(3));/ ...

  2. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  3. 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

    jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端 ...

  4. jsp页面之间传参用el表达式获取

    jsp页面之间传参用el表达式获取 参数方法:${param.参数名} session方法:${session.变量名}

  5. java中常用的字符串的截取方法

    java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...

  6. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  7. JSP中常用的的EL表达式的汇总

    Jsp基础知识 jsp的组成 html静态页面(css.javascript) java代码 <% %> (_jspService方法中) 内置对象 out request 表达式 < ...

  8. C语言中常用的字符串操作函数

    程序开头要声明 #include <string.h> 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char ...

  9. 13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记

    1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理 ...

随机推荐

  1. nginx配置PATH_INFO模式

    我们可以使用PATH_INFO来代替Rewrite来实现伪静态页面, 另外不少PHP框架也使用PATH_INFO来作为路由载体 在Apache中, 当不加配置的时候, 对于PHP脚本, Accept ...

  2. 读书笔记——数据库的ADO开发总结

    基本上是对 ADO+开发指南.pdf 的摘抄和总结,以及个人心得. 文章末尾有<ADO+开发指南.pdf>的资源下载,附带个人批注. --------------------------- ...

  3. 如何在WIN7下进行LINUX虚拟机搭建

    Linux是一套免费使用和自由传播的类Unix操作系统,非常适用于搭建网络服务器等,我本人日常工作时,是使用的LINUX和WIN7双操作系统,但每次更换系统总要关机重启很不方便,所以也在WIN7下搭建 ...

  4. Hive history date mapping

    Hive history table mapping create table fdl_family as select * from (select 'acc1' as account,'famil ...

  5. 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息

    作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...

  6. 权限框架 - shiro 简单入门实例

    前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 <!-- shiro --> <dependen ...

  7. Properties集合的练习

    1.更改文件中的数据,特定键的值: 需求:我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么. 请写一个程序判断是否有"lisi"这样的键存在,如 ...

  8. java 13-2 Arrays工具类

    1.Arrays:针对数组进行操作的工具类.比如说排序和查找. 1:public static String toString(int[] a) 把数组转成字符串  2:public static v ...

  9. java 12-1 StringBuffer类

    线程安全(多线程讲解) 安全 -- 同步 -- 数据是安全的--效率低一些 不安全 -- 不同步 -- 数据不安全--效率高一些 安全和效率问题是永远困扰我们的问题. 安全:医院的网站,银行网站 效率 ...

  10. java9-8 局部内部类

    1. 局部内部类 A:可以直接访问外部类的成员 B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能 面试题: 局部内部类访问局部变量的注意事项? A:局部内部类访问局部变 ...