书签 分享 收藏 举报 版权申诉 / 34
上传文档赚钱

类型[计算机软件及应用]EL表达式语言xx课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5102885
  • 上传时间:2023-02-11
  • 格式:PPT
  • 页数:34
  • 大小:1.25MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[计算机软件及应用]EL表达式语言xx课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机软件及应用 计算机软件 应用 EL 表达式 语言 xx 课件
    资源描述:

    1、Copyright 2009创智新程EL(表达式语言)(表达式语言)Copyright 2009创智新程本课教学内容本课教学内容y表达式语言概述表达式语言概述0EL的功能0简单EL示例y EL基本语法基本语法0表达式语言的组成0.和操作符0算术操作符0关系操作符0条件操作符0逻辑操作符0empty操作符 0()操作符及操作符优先级Copyright 2009创智新程本课教学内容本课教学内容yEL隐含对象与保留字隐含对象与保留字0隐含对象0保留字y 自定义函数自定义函数Copyright 2009创智新程表达式语言概述表达式语言概述 y在JSP页面中嵌入大量的Java代码实现业务逻辑,从长远来看

    2、,维护起来很困难,所以在JSP2.0以后引入表达式语言(Expression Language,EL)。EL的最大特点是语法简单,使用上很方便,能够满足JSP的应用需求。在页面中EL以$表达式的形式出现,和传统的一样,它可以将内容输出到页面中,也可以作为动作标签的属性值。Copyright 2009创智新程表达式语言概述表达式语言概述 对应对应$requestScope.bean.propjsp:include file=/Copyright 2009创智新程表达式语言概述表达式语言概述 yEL的功能的功能 0能方便地获取共享域中的JavaBean对象,也能方便地获取其属性值。0能获取Arra

    3、y、List、Map类型对象的元素。0 能进行简单的算术运算、比较和逻辑操作等功能,可以对原始数据进行简单的处理。0屏蔽常见的异常。0能提供一定程度上的自动类型转换。Copyright 2009创智新程简单简单EL示例示例 y下面以一个用户登录的实例介绍EL的基本用法,首先是一个登录页面,主要信息包括用户名、密码和爱好。Copyright 2009创智新程简单简单EL示例示例 y用EL表达式获取登录信息,并将其显示在页面上,内容显示界面如下:Copyright 2009创智新程简单简单EL示例示例 注册信息 !-姓名:姓名:$param.username 密码:密码:$param.userpa

    4、ssword 性别:性别:$param.usersex 爱好:爱好:$paramValues.userhabit0,$paramValues.userhabit1 Copyright 2009创智新程简单简单EL示例示例 yEL可能会出现中文乱码问题,可以通过设置过滤器的方式解决,具体方法如下:public class EncodingFilter implements Filter private FilterConfig config;public void init(FilterConfig config)throws ServletException this.config=confi

    5、g;public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException HttpServletRequest httpRequest=(HttpServletRequest)request;httpRequest.setCharacterEncoding(GB2312);HttpServletResponse httpResponse=(HttpServletResponse)response;httpResponse

    6、.setCharacterEncoding(GB2312);chain.doFilter(request,response);public void destroy()Copyright 2009创智新程简单简单EL示例示例 y修改web.xml配置文件,应用该过滤器,在web.xml文件中增加如下代码:EncodingFilter com.demo.util.EncodingFilter EncodingFilter /*Copyright 2009创智新程EL基本语法基本语法 y表达式语言的组成表达式语言的组成 0EL表达式语言的内容主要有常量、变量和操作符。常量就是表达式中定好的值,也称

    7、为字面量(Literal),有整数、浮点数、布尔值和字符串几种类型。0EL表达式的另一类内容是变量,它的写法和Java语言的变量名要求相同,即只能包含数字、字母和下划线,并且不能以数字开头。在EL中的变量仅用于访问JavaBean属性和Map中的元素值,不能赋值。最简单的是表达式只包含一个变量,这时它访问的是共享域中的属性值。Copyright 2009创智新程EL基本语法基本语法 y.和和操作符操作符 0“.”和“”这两个操作符用于进一步访问对象的内容,包括JavaBean的属性,Array、List和Map类型对象的元素等。0点号操作符还可以连续使用以访问嵌套的属性。0在EL中能屏蔽空引用

    8、异常。如果在Java程序中,尝试调用null对象的成员方法会抛出异常,但EL表达式却会返回null值作为代替,在页面上不会抛出任何异常,而是输出一个空字符串。0点号操作符除了可以访问bean对象的属性外,还可以访问java.util.Map类型对象的元素。Copyright 2009创智新程EL基本语法基本语法 y.和和操作符操作符 0点号操作符的功能也可以通过方括号操作符“”来实现,即同样可以访问JavaBean属性和Map对象中的元素,需要注意的是在点号操作符中通过变量来指定属性,而在“”操作符中需要写成常量。0“”操作符可以提供比点号操作符更加强大的功能。当属性名或键名不符合EL表达式的

    9、命名规则时,例如在包含特殊字符”-”或”.”等情况下,就不能使用点号操作符来访问,这时只能通过“”操作符来进行。Copyright 2009创智新程EL基本语法基本语法 y.和和操作符操作符 0“”操作符还可以访问数组和java.util.List对象的元素,这时“”中的内容是整数。对于数组,该整数表示其元素的下标值;对于List类型对象,访问的对象通过List的get(int)方法获取,其中“”内的整数作为该方法的参数。0当指定的下标超出范围时,表达式并不抛出异常,而是返回null;另外,当数组或List的对象引用是null时,表达式同样返回null,而不是抛出异常。Copyright 20

    10、09创智新程EL基本语法基本语法 y算术操作符算术操作符 0EL表达式的算术运算符一共有七个,分为五种,其功能如下表所示:操作符操作符功能功能示例示例+加法$name+2.0、$1+2-减法或取反$age-1、$-value0*乘法$3.14*radius/或div除法$6/10、$age div 2.5%或mod求余操作(模操作)$bean.age%3、$10 mod 6Copyright 2009创智新程EL基本语法基本语法 y关系操作符关系操作符 0EL表达式的关系操作符可以对两个对象进行比较,返回的结果是布尔值,即true或false;关系操作符共有12个,分为6种,具体如下:操作符操

    11、作符功能功能示例示例=或eq判断符号左右两端是否相等,如果相等返回true,否则返回false$bean.prop=1、$bean.name=name!=或ne判断符号左右两端是否不相等,如果不相等返回true,否则返回false$bean.prop!=2 或lt判断符号左边是否小于右边,如果小于返回true,否则返回false$bean.prop1、$ab 或gt判断符号左边是否大于右边,如果大于返回true,否则返回false$bean.prop3、$e gt d=或le判断符号左边是否小于或者等于右边,如果小于或者等于返回true,否则返回false$bean.prop=或ge判断符号左

    12、边是否大于或者等于右边,如果大于或者等于返回true,否则返回false$bean.prop=2.4、$bean1.age ge bean2.ageCopyright 2009创智新程EL基本语法基本语法 y条件操作符条件操作符 0条件操作符一般和关系操作符结合使用,并根据返回值输出不同的结果。其格式如下:条件表达式条件表达式?表达式表达式1:表达式表达式20 默认情况下,当对象为null时,页面输出空字符串,如果希望输出其它内容,则可以通过操作符进行。Copyright 2009创智新程EL基本语法基本语法 y逻辑操作符逻辑操作符 0逻辑操作符可结合多个比较操作的结果。EL表达式的逻辑操作符

    13、共有6个,分为三种,分别如下表所示:操作符操作符功能功能示例示例&或and逻辑与操作$10&10 and 10|10 or 12!或not逻辑非操作$!true或$not trueCopyright 2009创智新程EL基本语法基本语法 yempty操作符操作符 0empty操作符用于判断对象是否为空。0如果操作对象是null、空字符串、不包含对象的数组、Map、Collection其中之一时,返回结果为true,其它则为false。Copyright 2009创智新程EL基本语法基本语法 y()操作符及操作符优先级操作符及操作符优先级 0“()”操作符的作用是改变表达式的计算顺序。0EL中表

    14、达式语言的顺序由高到低如下:(1).(2)()(3)-!not empty(4)*/div%mod(5)+-(6)gt=ge(7)=eq!=ne(8)&and(9)|or(10)?:Copyright 2009创智新程EL隐含对象与保留字隐含对象与保留字 y隐含对象隐含对象 y一般情况下,在处理逻辑中将Bean对象放在共享域中,然后JSP页面通过EL表达式访问这些对象的数据。但跟JSP类似,为了方便某些特殊数据的访问,EL表达式也提供了部分隐含对象,隐含对象共有11个。Copyright 2009创智新程EL隐含对象与保留字隐含对象与保留字 y隐含对象隐含对象 0隐含对象pageScope、r

    15、equestScope、sessionScope、applicationScope:这4个隐含对象包含Scope作用范围的参数集合,相当于被保存在java.util.Map中的某个参数。0隐含对象param、paramValues:这两个隐含对象包含请求参数的集合,param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。Copyright 2009创智新程EL隐含对象与保留字隐含对象与保留字 y隐含对象隐含对象 0隐含对象header、headerValues:这两个隐含对象包含请求参数头部信息的集合,header对象表示单一头部信息,headerValue

    16、s则表示数组型的头部信息。0隐含对象cookie:包含所有请求的cookie集合,集合中的每个对象对应javax.servlet.http.Cookie。0隐含对象initParam:包含所有应用程序初始化参数的集合。0隐含对象pageContext:等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。Copyright 2009创智新程EL隐含对象与保留字隐含对象与保留字 y保留字保留字 0EL表达式共有16个保留字,它们都有特殊的含义,不能用做变量名。EL保留字列表如下:类型类型保留字保留字逻辑操作符and or not关系操作

    17、符eq ne lt gt le ge常量true false null算术操作符div modEmpty操作符empty目前未使用,仅作保留instanceofCopyright 2009创智新程自定义函数自定义函数 y除了使用EL表达式的默认功能外,还可以根据需要定制相关的函数。要使用自定义函数功能,需要进行以下工作:0编写实现函数功能的Java类,函数功能通过public static类型的方法提供。0通过标签库描述文件(TLD文件)指定表达式所用的函数名与Java类方法名相对应。0在页面中导入该标签库,并在EL表达式中调用函数。Copyright 2009创智新程自定义函数自定义函数 y

    18、现要求开发一个自定义函数实现如下功能:可以将字符串中的特定子串以红色、粗体的方式显示。该示例源代码如下:Java程序(ELFunc.java)package com.demo.util;public class ELFunc public static String boldredStr(String str,String boldStr)if(str=null)str=;else if(boldStr!=null&!boldStr.equals()String replaceStr=+boldStr+;str=str.replace(boldStr,replaceStr);return st

    19、r;Copyright 2009创智新程自定义函数自定义函数 y在WEB-INF目录下创建标签描述文件TLD文件,代码如下(el_func_example.tld):My function lib.My functions 1.1 my http:/www.myfunction/functions boldred com.demo.util.ELFunc java.lang.String boldredStr(java.lang.String,java.lang.String)Copyright 2009创智新程自定义函数自定义函数 y创建JSP页面,使用该自定义函数,代码如下(el_func

    20、.jsp):$el:boldred(EL表达式自定义函数,自定义函数)Copyright 2009创智新程自定义函数自定义函数 y最后部署该项目,在浏览器中可以看到如下运行结果:Copyright 2009创智新程思考与练习思考与练习y设计一个用户登录页面(lgin.jsp),并使用表达式语言在新页面(info.jsp)中显示用户登录信息(如果用户名为“zhangsan”,密码为“123456”,在页面中显示true和用户信息,否则显示false和用户信息)。y创建一个自定义函数,用于将两个字符串连接成一个字符串,并在JSP页面中测试该函数。Copyright 2009创智新程小结小结y 在J

    21、SP页面中嵌入大量的Java代码实现业务逻辑,从长远来看,维护起来很困难,所以在JSP2.0以后引入表达式语言(Expression Language,EL)。EL的最大特点是语法简单,使用上很方便,能够满足JSP的应用需求。在页面中EL以$表达式的形式出现,和传统的一样,它可以将内容输出到页面中,也可以作为动作标签的属性值。y EL表达式比的写法更加简洁,主要用于获取Bean对象的属性,或是Array、List、Map中的元素,另外还提供简单的运算、比较和逻辑操作功能,并提供一定的容错性、自动类型转换等方便的功能。y EL表达式语言的内容主要有常量、变量和操作符。常量就是表达式中定好的值,也

    22、称为字面量(Literal),有整数、浮点数、布尔值和字符串几种类型。y“.”和“”这两个操作符用于进一步访问对象的内容,包括JavaBean的属性,Array、List和Map类型对象的元素等。Copyright 2009创智新程小结(续)小结(续)y EL表达式的算术运算符一共有七个,分为五种,分别是+、-、*、/或div、%或mod。y EL表达式的关系操作符可以对两个对象进行比较,返回的结果是布尔值,即true或false;关系操作符共有12个,分为6种,分别是=或eq、!=或ne、或gt、=或ge。y 条件操作符一般和关系操作符结合使用,并根据返回值输出不同的结果,其格式为:条件表达

    23、式?表达式1:表达式2。y 逻辑操作符可结合多个比较操作的结果。EL表达式的逻辑操作符共有6个,分为三种,分别是&或and、|或or、!或not。y empty操作符用于判断对象是否为空。如果操作对象是null、空字符串、不包含对象的数组、Map、Collection其中之一时,返回结果为true,其它则为false。y“()”操作符的作用是改变表达式的计算顺序。Copyright 2009创智新程小结(续)小结(续)y 一般情况下,在处理逻辑中将Bean对象放在共享域中,然后JSP页面通过EL表达式访问这些对象的数据。但跟JSP类似,为了方便某些特殊数据的访问,EL表达式也提供了部分隐含对象,隐含对象共有11个,分为六组,分别是:0pageScope、requestScope、sessionScope、applicationScope0param、paramValues0header、headerValues0cookie0initParam0pageContexty EL表达式共有16个保留字,它们都有特殊的含义,不能用做变量名。y 除了使用EL表达式的默认功能外,还可以根据需要定制相关的函数。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[计算机软件及应用]EL表达式语言xx课件.ppt
    链接地址:https://www.163wenku.com/p-5102885.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库