




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章01-EL(表达式语言),本课教学内容,表达式语言概述 EL的功能 简单EL示例 EL基本语法 表达式语言的组成 “.“和“操作符 算术操作符 关系操作符 条件操作符 逻辑操作符 empty操作符 “()“操作符及操作符优先级,本课教学内容,EL隐含对象与保留字 隐含对象 保留字 自定义函数,表达式语言概述,表达式语言概述,对应 对应,$requestSp,“/,表达式语言概述,EL的功能 能方便地获取共享域中的JavaBean对象,也能方便地获取其属性值。 能获取Array、List、Map类型对象的元素。 能进行简单的算术运算、 比较和逻辑操作等功能,可以对原始数据进行简单的处理。 屏蔽常见的异常。 能提供一定程度上的自动类型转换。,简单EL示例,下面以一个用户登录的实例介绍EL的基本用法,首先是一个登录页面, 主要信息包括用户名、密码和爱好。,简单EL示例,用EL表达式获取登录信息,并将其显示在页面上,内容显示界面如下:,简单EL示例,简单EL示例,EL可能会出现中文乱码问题,可以通过设置过滤器的方式解决,具体方法如下:,简单EL示例,修改web.xml配置文件,应用该过滤器,在web.xml文件中增加如下代码:,EL基本语法,表达式语言的组成 EL表达式语言的内容主要有常量、变量和操作符。常量就是表达式中定好的值,也称为字面量(Literal), 有整数、浮点数、布尔值和字符串几种类型。 EL表达式的另一类内容是变量,它的写法和Java语言的变量名要求相同,即只能包含数字、字母和下划线,并且不能以数字开头 。在EL中的变量仅用于访问JavaBean属性和Map中的元素值,不能赋值。最简单的是表达式只包含一个变量,这时它访问的是共享域中的属性值。,EL基本语法,“.“和“操作符 “.”和“”这两个操作符用于进一步访问对象的内容,包括JavaBean的属性,Array、List和Map类型对象的元素等。 点号操作符还可以连续使用以访问嵌套的属性 。 在EL中能屏蔽空引用异常。 如果在Java程序中,尝试调用null对象的成员方法会抛出异常,但EL表达式却会返回null值作为代替,在页面上不会抛出任何异常,而是输出一个空字符串。 点号操作符除了可以访问bean对象的属性外,还可以访问java.util.Map类型对象的元素。,EL基本语法,“.“和“操作符 点号操作符的功能也可以通过方括号操作符“”来实现,即同样可以访问JavaBean属性和Map对象中的元素,需要注意的是在点号操作符中通过变量来指定属性,而在“”操作符中需要写成常量。 “”操作符可以提供比点号操作符更加强大的功能。当属性名或键名不符合EL表达式的命名规则时,例如在包含特殊字符”-”或”.”等情况下,就不能使用点号操作符来访问,这时只能通过“”操作符来进行。,EL基本语法,“.“和“操作符 “”操作符还可以访问数组和java.util.List对象的元素,这时“”中的内容是整数。对于数组,该整数表示其元素的下标值;对于List类型对象,访问的对象通过List的get(int)方法获取,其中“”内的整数作为该方法的参数。 当指定的下标超出范围时,表达式并不抛出异常,而是返回null;另外,当数组或List的对象引用是null时,表达式同样返回null,而不是抛出异常。,EL基本语法,算术操作符 EL表达式的算术运算符一共有七个,分为五种,其功能如下表所示:,EL基本语法,关系操作符 EL表达式的关系操作符可以对两个对象进行比较,返回的结果是布尔值,即true或false;关系操作符共有12个,分为6种,具体如下:,EL基本语法,条件操作符 条件操作符一般和关系操作符结合使用,并根据返回值输出不同的结果。其格式如下: 条件表达式?表达式1:表达式2 默认情况下,当对象为null时,页面输出空字符串,如果希望输出其它内容,则可以通过操作符进行。,EL基本语法,逻辑操作符 逻辑操作符可结合多个比较操作的结果。EL表达式的逻辑操作符共有6个,分为三种,分别如下表所示:,EL基本语法,empty操作符 empty操作符用于判断对象是否为空。 如果操作对象是null、空字符串、不包含对象的数组、Map、Collection其中之一时,返回结果为true,其它则为false。,EL基本语法,“()“操作符及操作符优先级 “()”操作符的作用是改变表达式的计算顺序。 EL中表达式语言的顺序由高到低如下: (1) . (2) () (3) - ! not empty (4) * / div % mod (5) + - (6) gt = ge (7) = eq != ne (8) & and (9) | or (10) ? :,EL隐含对象与保留字,隐含对象 一般情况下, 在处理逻辑中将Bean对象放在共享域中, 然后JSP页面通过EL表达式访问这些对象的数据。但跟JSP类似,为了方便某些特殊数据的访问,EL表达式也提供了部分隐含对象, 隐含对象共有11个。,EL隐含对象与保留字,隐含对象 隐含对象pageScope、requestScope、sessionScope、applicationScope:这4个隐含对象包含Scope作用范围的参数集合,相当于被保存在java.util.Map中的某个参数。 隐含对象param、paramValues:这两个隐含对象包含请求参数的集合,param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。,EL隐含对象与保留字,隐含对象 隐含对象header、headerValues:这两个隐含对象包含请求参数头部信息的集合,header对象表示单一头部信息,headerValues则表示数组型的头部信息。 隐含对象cookie:包含所有请求的cookie集合,集合中的每个对象对应javax.servlet.http.Cookie。 隐含对象initParam:包含所有应用程序初始化参数的集合。 隐含对象pageContext:等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。,EL隐含对象与保留字,保留字 EL表达式共有16个保留字,它们都有特殊的含义,不能用做变量名。EL保留字列表如下:,思考与练习,设计一个用户登录页面(lgin.jsp),并使用表达式语言在新页面(info.jsp)中显示用户登录信息(如果用户名为“zhangsan”,密码为“123456”,在页面中显示true和用户信息,否则显示false和用户信息)。,小结,在JSP页面中嵌入大量的Java代码实现业务逻辑,从长远来看,维护起来很困难,所以在JSP2.0以后引入表达式语言(Expression Language, EL)。EL的最大特点是语法简单,使用上很方便,能够满足JSP的应用需求。在页面中EL以$表达式的形式出现,和传统的一样,它可以将内容输出到页面中,也可以作为动作标签的属性值。 EL表达式比的写法更加简洁,主要用于获取Bean对象的属性,或是Array、List、Map中的元素,另外还提供简单的运算、比较和逻辑操作功能,并提供一定的容错性、自动类型转换等方便的功能。 EL表达式语言的内容主要有常量、变量和操作符。常量就是表达式中定好的值,也称为字面量(Literal),有整数、浮点数、布尔值和字符串几种类型。 “.”和“”这两个操作符用于进一步访问对象的内容,包括JavaBean的属性,Array、List和Map类型对象的元素等。,小结(续),EL表达式的算术运算符一共有七个,分为五种,分别是+、-、*、/或div、%或mod。 EL表达式的关系操作符可以对两个对象进行比较,返回的结果是布尔值,即true或false;关系操作符共有12个,分为6种,分别是= 或eq、!= 或ne、 或gt、= 或ge。 条件操作符一般和关系操作符结合使用,并根据返回值输出不同的结果,其格式为:条件表达式?表达式1:表达式2。 逻辑操作符可结合多个比较操作的结果。EL表达式的逻辑操作符共有6个,分为三种,分别是&或and、|或or、!或not。 empty操作符用于判断对象是否为空。如果操作对象是null、空字符串、不包含对象的数组、Map、Collection其中之一时,返回结果为true,其它则为false。 “()”操作符的作用是改变表达式的计算顺序。,小结(续),一般情况下,在处理逻辑中将Bean对象放在共享域中,然后JSP页面通过EL表达式访问这些对象的数据。但跟JSP类似,为了方便某些特殊数据的访问,EL表达式也提供了部分隐含对象,隐含对象共有11个,分为六组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西南昌市劳动保障事务代理中心招聘劳务外包人员1人模拟试卷及1套参考答案详解
- 2025湖南省开发区协会招聘考前自测高频考点模拟试题及答案详解(新)
- 2025年哈尔滨市工人文化宫工作人员招聘7人模拟试卷及答案详解(历年真题)
- 2025江苏海事职业技术学院招聘高层次人员28人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年吉林工商学院公开招聘博士人才(3号)(24人)考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025内蒙古自治区精神卫生中心招聘急需紧缺合同制人员13人模拟试卷附答案详解(突破训练)
- 2025金华市教育局所属金华教育学院公开招聘教师6人模拟试卷附答案详解(典型题)
- 2025贵州安顺市实验学校阅山校区选调教师41人模拟试卷及完整答案详解一套
- 2025年湖北省三支一扶招聘考试(2000人)考前自测高频考点模拟试题附答案详解
- 2025江苏徐州经济技术开发区管理委员会招聘编制教师40人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025中证金融研究院招聘11人考试参考题库及答案解析
- 商场保安礼仪培训课件
- 金税四期培训
- 现浇空心板桥梁施工方案
- 托管班安全培训课件
- 人教版(2024)八年级上册英语Unit 2 Home Sweet Home教案
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 产品配送方案及措施
- 教学课件正文字体设计
- 法治护航-健康成长课件
- 口令信息安全管理办法
评论
0/150
提交评论