《EL表达式语言》PPT课件.ppt_第1页
《EL表达式语言》PPT课件.ppt_第2页
《EL表达式语言》PPT课件.ppt_第3页
《EL表达式语言》PPT课件.ppt_第4页
《EL表达式语言》PPT课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Copyright 2009创智新程 EL 表达式语言 Copyright 2009创智新程 本课教学内容 表达式语言概述EL的功能简单EL示例EL基本语法表达式语言的组成 和 操作符算术操作符关系操作符条件操作符逻辑操作符empty操作符 操作符及操作符优先级 Copyright 2009创智新程 本课教学内容 EL隐含对象与保留字隐含对象保留字自定义函数 Copyright 2009创智新程 表达式语言概述 在JSP页面中嵌入大量的Java代码实现业务逻辑 从长远来看 维护起来很困难 所以在JSP2 0以后引入表达式语言 ExpressionLanguage EL EL的最大特点是语法简单 使用上很方便 能够满足JSP的应用需求 在页面中EL以 表达式 的形式出现 和传统的一样 它可以将内容输出到页面中 也可以作为动作标签的属性值 Copyright 2009创智新程 表达式语言概述 对应对应 requestScope bean prop Copyright 2009创智新程 表达式语言概述 EL的功能能方便地获取共享域中的JavaBean对象 也能方便地获取其属性值 能获取Array List Map类型对象的元素 能进行简单的算术运算 比较和逻辑操作等功能 可以对原始数据进行简单的处理 屏蔽常见的异常 能提供一定程度上的自动类型转换 Copyright 2009创智新程 简单EL示例 下面以一个用户登录的实例介绍EL的基本用法 首先是一个登录页面 主要信息包括用户名 密码和爱好 Copyright 2009创智新程 简单EL示例 用EL表达式获取登录信息 并将其显示在页面上 内容显示界面如下 Copyright 2009创智新程 简单EL示例 Copyright 2009创智新程 简单EL示例 EL可能会出现中文乱码问题 可以通过设置过滤器的方式解决 具体方法如下 Copyright 2009创智新程 简单EL示例 修改web xml配置文件 应用该过滤器 在web xml文件中增加如下代码 Copyright 2009创智新程 EL基本语法 表达式语言的组成EL表达式语言的内容主要有常量 变量和操作符 常量就是表达式中定好的值 也称为字面量 Literal 有整数 浮点数 布尔值和字符串几种类型 EL表达式的另一类内容是变量 它的写法和Java语言的变量名要求相同 即只能包含数字 字母和下划线 并且不能以数字开头 在EL中的变量仅用于访问JavaBean属性和Map中的元素值 不能赋值 最简单的是表达式只包含一个变量 这时它访问的是共享域中的属性值 Copyright 2009创智新程 EL基本语法 和 操作符 和 这两个操作符用于进一步访问对象的内容 包括JavaBean的属性 Array List和Map类型对象的元素等 点号操作符还可以连续使用以访问嵌套的属性 在EL中能屏蔽空引用异常 如果在Java程序中 尝试调用null对象的成员方法会抛出异常 但EL表达式却会返回null值作为代替 在页面上不会抛出任何异常 而是输出一个空字符串 点号操作符除了可以访问bean对象的属性外 还可以访问java util Map类型对象的元素 Copyright 2009创智新程 EL基本语法 和 操作符点号操作符的功能也可以通过方括号操作符 来实现 即同样可以访问JavaBean属性和Map对象中的元素 需要注意的是在点号操作符中通过变量来指定属性 而在 操作符中需要写成常量 操作符可以提供比点号操作符更加强大的功能 当属性名或键名不符合EL表达式的命名规则时 例如在包含特殊字符 或 等情况下 就不能使用点号操作符来访问 这时只能通过 操作符来进行 Copyright 2009创智新程 EL基本语法 和 操作符 操作符还可以访问数组和java util List对象的元素 这时 中的内容是整数 对于数组 该整数表示其元素的下标值 对于List类型对象 访问的对象通过List的get int 方法获取 其中 内的整数作为该方法的参数 当指定的下标超出范围时 表达式并不抛出异常 而是返回null 另外 当数组或List的对象引用是null时 表达式同样返回null 而不是抛出异常 Copyright 2009创智新程 EL基本语法 算术操作符EL表达式的算术运算符一共有七个 分为五种 其功能如下表所示 Copyright 2009创智新程 EL基本语法 关系操作符EL表达式的关系操作符可以对两个对象进行比较 返回的结果是布尔值 即true或false 关系操作符共有12个 分为6种 具体如下 Copyright 2009创智新程 EL基本语法 条件操作符条件操作符一般和关系操作符结合使用 并根据返回值输出不同的结果 其格式如下 条件表达式 表达式1 表达式2默认情况下 当对象为null时 页面输出空字符串 如果希望输出其它内容 则可以通过操作符进行 Copyright 2009创智新程 EL基本语法 逻辑操作符逻辑操作符可结合多个比较操作的结果 EL表达式的逻辑操作符共有6个 分为三种 分别如下表所示 Copyright 2009创智新程 EL基本语法 empty操作符empty操作符用于判断对象是否为空 如果操作对象是null 空字符串 不包含对象的数组 Map Collection其中之一时 返回结果为true 其它则为false Copyright 2009创智新程 EL基本语法 操作符及操作符优先级 操作符的作用是改变表达式的计算顺序 EL中表达式语言的顺序由高到低如下 1 2 3 notempty 4 div mod 5 6 gt ge 7 eq ne 8 and 9 or 10 Copyright 2009创智新程 EL隐含对象与保留字 隐含对象一般情况下 在处理逻辑中将Bean对象放在共享域中 然后JSP页面通过EL表达式访问这些对象的数据 但跟JSP类似 为了方便某些特殊数据的访问 EL表达式也提供了部分隐含对象 隐含对象共有11个 Copyright 2009创智新程 EL隐含对象与保留字 隐含对象隐含对象pageScope requestScope sessionScope applicationScope 这4个隐含对象包含Scope作用范围的参数集合 相当于被保存在java util Map中的某个参数 隐含对象param paramValues 这两个隐含对象包含请求参数的集合 param表明请求包含的参数为单一控件 paramValues表明请求包含的参数为控件数组 Copyright 2009创智新程 EL隐含对象与保留字 隐含对象隐含对象header headerValues 这两个隐含对象包含请求参数头部信息的集合 header对象表示单一头部信息 headerValues则表示数组型的头部信息 隐含对象cookie 包含所有请求的cookie集合 集合中的每个对象对应javax servlet http Cookie 隐含对象initParam 包含所有应用程序初始化参数的集合 隐含对象pageContext 等价于page环境类javax servlet jsp PageContext的实例 用来提供访问不同的请求参数 Copyright 2009创智新程 EL隐含对象与保留字 保留字EL表达式共有16个保留字 它们都有特殊的含义 不能用做变量名 EL保留字列表如下 Copyright 2009创智新程 自定义函数 除了使用EL表达式的默认功能外 还可以根据需要定制相关的函数 要使用自定义函数功能 需要进行以下工作 编写实现函数功能的Java类 函数功能通过publicstatic类型的方法提供 通过标签库描述文件 TLD文件 指定表达式所用的函数名与Java类方法名相对应 在页面中导入该标签库 并在EL表达式中调用函数 Copyright 2009创智新程 自定义函数 现要求开发一个自定义函数实现如下功能 可以将字符串中的特定子串以红色 粗体的方式显示 该示例源代码如下 Java程序 ELFunc java Copyright 2009创智新程 自定义函数 在WEB INF目录下创建标签描述文件TLD文件 代码如下 el func example tld Copyright 2009创智新程 自定义函数 创建JSP页面 使用该自定义函数 代码如下 el func jsp Copyright 2009创智新程 自定义函数 最后部署该项目 在浏览器中可以看到如下运行结果 Copyright 2009创智新程 思考与练习 设计一个用户登录页面 lgin jsp 并使用表达式语言在新页面 info jsp 中显示用户登录信息 如果用户名为 zhangsan 密码为 123456 在页面中显示true和用户信息 否则显示false和用户信息 创建一个自定义函数 用于将两个字符串连接成一个字符串 并在JSP页面中测试该函数 Copyright 2009创智新程 小结 在JSP页面中嵌入大量的Java代码实现业务逻辑 从长远来看 维护起来很困难 所以在JSP2 0以后引入表达式语言 ExpressionLanguage EL EL的最大特点是语法简单 使用上很方便 能够满足JSP的应用需求 在页面中EL以 表达式 的形式出现 和传统的一样 它可以将内容输出到页面中 也可以作为动作标签的属性值 EL表达式比的写法更加简洁 主要用于获取Bean对象的属性 或是Array List Map中的元素 另外还提供简单的运算 比较和逻辑操作功能 并提供一定的容错性 自动类型转换等方便的功能 EL表达式语言的内容主要有常量 变量和操作符 常量就是表达式中定好的值 也称为字面量 Literal 有整数 浮点数 布尔值和字符串几种类型 和 这两个操作符用于进一步访问对象的内容 包括JavaBean的属性 Array List和Map类型对象的元素等 Copyright 2009创智新程 小结 续 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 操作符的作用是改变表达式的计算顺序 Copyright 2009创智新程 小结 续 一般情况下 在处理逻辑中将Bean对象放在共享域中 然后JSP页面通过EL表达式访问这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论