JSTL标签库_02(EL表达式)

15 篇文章 0 订阅
5 篇文章 0 订阅

EL表达式(Expression Language)
EL主要作用:
1-获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索Java对象,获取数据。(某个web域中的对象,访问javabean的属性,访问list集合,访问map集合,访问数组)
2-执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在Jsp页面中完成一些简单的逻辑运算。
3-获取web开发常用对象
EL表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松的获得web常用对象的引用,从而获得这些对象中的数据。
注意:EL表达式一旦无法获取值,记得使用[”]
4-调用Java方法
EL表达式允许用户开发自定义EL函数,已在JSP页面中通过EL表达式调用Java类的(必须是静态)方法
注意: 不支持字符串的连接
函数要在tld文件中进行描述

        taglib
            function
                name
                function-calss方法所在类
                function-signature
    例如:java.lang.Stringfilter(java.lang.String)
调用时:${prefix名:函数名(参数) }

2)EL表达式注意事项:
EL表达式是Jsp2.0规范中的一门技术。因此,若想正确解析EL表达式,需使用支持Servlet2.4/JSP2.0技术的服务器
注意:有些Tomcat服务器如不能使用EL表达式
升级为tomcat6
在JSP页面中加入<%@ page isELIgnored=”false” %>

EL函数库
1)JSTL中的常用EL函数
由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用
这些EL函数在JSTL开发包中进行描述,因此在Jsp页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库。如下所示:
在页面中使用JSTL定义的EL函数:
<%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn”%>
2)fn:toLowerCase函数将一个字符串中包含的所有字符转换为小写形式,并返回转换后的字符串,它接收一个字符串类型的参数,例如:
fn:toLowerCase(“”)的返回值为空字符串
3)fn:toUpperCase同理
4)fn:trim去除收尾的空格
5)fn:length函数返回一个集合或数组的大小,或返回一个字符串包含的字符的个数,返回值为int类型。fn:length函数接收一个参数,这个参数可以是标签的items属性支持的
任何类型,包括任意类型的数组,
java.util.Conllection,java.util.Iterator,java.util.Enumeration,java.util.Map等类的实例对象和字符串。如果fn:length函数的参数为null或者元素个数为0的集合或数组对象,则函数返回值为0;如果参数时空字符串,则函数返回0。
6)fn:split函数以指定字符串作为分隔符,将一个字符串分割成字符串数组并返回这个字符串数组。它接收两个字符串类型的参数,第一个参数表示要分割的字符创,第二个参数表示作为分隔符的字符串。
7)fn:join函数以一个字符串作为分隔符,将一个字符串数组中的所有元素合并为一个字符串并返回给合并后的结果字符串。它接收两个参数,以一个为要操作的字符串数组,第二个是作为分隔符的字符串。如果第二个为空字符串,则返回值为直接将元素连接起来。
8)fn:indexOf函数返回指定字符串在一个字符创中第一次出现的索引值。不包含返回-1,第二个参数为空字符串,则返回0
fn:indexOf(“www.ddd.com”,”dd”)的返回值为4
9)fn:contains函数检测一个字符串(注意是字符串)是否包含指定的字符串,返回值为布尔类型。对大小写敏感
第二个参数为空字符串,返回true
fn:contains(string,substring)等价于fn:indexOf(string,substring)!=-1
忽略大小写的EL函数:fn:containsIgnoreCase
此函数可用于多选回写:

<%
        request.serAttribute("likes",new String[]{"dance", "sing"};
    %>
    <input type="checkbox" name="likes" value="sing" ${fn:contains(fn:join(likes,","),"sing")?'checked':'' }>唱歌
    ......

10)fn:startsWith函数用于检测一个字符串是否是以指定字符串开始的,返回值为布尔类型
例如:fn:startsWith(“www.ddd.com”,”ww”)的返回值为true
与之对应的函数:fn:endsWith
11)fn:replace函数将一个字符串中的包含的指定字符串替换为其他的指定字符串,并返回替换后的结果字符串。
例如:fn:replace(“www.ddd.com,”.”,”“)的返回值为”wwwdddcom”
12)fn:substring函数用于截取一个字符串的子字符串并返回截取到的子字符串。从0开始
例如:fn:substring(“www.ddd.com”,4,9)的返回字符串为”ddd.c”
13)fn:substringAfter函数用于截取并返回一个字符串中的指定字符串第一次出现之后的子字符串。
例如:fn:substringAfter(“www.ddd.com”,”.”)返回”ddd.com”
与之对应得函数:fn:substringBefore
14)fn:escapeXML用于转义
例如:fn:escpeXML(“dd“)
15)EL函数库没有提供连接字符串的方法,需要时需要自己写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值