统一表达式语言(EL).ppt

上传人:小飞机 文档编号:6015683 上传时间:2023-09-14 格式:PPT 页数:16 大小:290.61KB
返回 下载 相关 举报
统一表达式语言(EL).ppt_第1页
第1页 / 共16页
统一表达式语言(EL).ppt_第2页
第2页 / 共16页
统一表达式语言(EL).ppt_第3页
第3页 / 共16页
统一表达式语言(EL).ppt_第4页
第4页 / 共16页
统一表达式语言(EL).ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《统一表达式语言(EL).ppt》由会员分享,可在线阅读,更多相关《统一表达式语言(EL).ppt(16页珍藏版)》请在三一办公上搜索。

1、第7章 统一表达式语言,主要内容:及时计算和延迟计算值表达式和方法表达式常量表达式运算符和保留字隐式对象,概述,从JSP2.0版开始就引入了统一表达式语言(EL),主要是为了解决JSP页面中嵌入大量Java代码的维护问题。EL具有语法简单、使用方便等特点。从JSP2.1版开始,统一表达式语言还涵盖了JSF(基于组件的Java Web应用框架模型)的表达式语言,其主要功能有:动态地读取存储在JavaBean组件中的不同数据结构和显式对象的数据;动态地将数据写到JavaBean组件中;调用任意静态和公有的方法;动态执行算术运算。,7.1 EL 的基本用法示例,首先通过一个简单的示例,该示例通过lo

2、gin.html调用login.jsp,在后者中通过EL表达式显示登录信息。login.jsp文件如下:登录信息 姓名:$param.username 密码:$param.password 爱好:$paramValues.Habit0$paramValues.Habit1,7.2 及时计算和延迟计算,及时计算:指页面在第一次被调用时,JSP引擎就计算表达式并立即返回结果。所有使用$expr符号的表达式都是及时执行的。只能用于HTML模板数据中或者作为能够使用运行时表达式的JSP标签属性值。例如:延迟计算:在页面生命周期以后通过某种机制延迟计算表达式,直到生命周期的合适点出现。延迟计算表达式的格

3、式为#expr可以在任何使用表达式技术定义的页面生命周期的其他阶段进行计算。例如:统一表达式语言(EL)既支持及时计算,也支持延迟计算。由于JSF技术采用多阶段生命周期,因而其EL表达式需要延迟计算,直到生命周期的合适点出现。,7.3 值表达式和方法表达式,值表达式值表达式又可以分为rvalue和lvalue表达式。rvalue表达式是只能读不能写的表达式,而lvalue表达式既能读又能写。所有及时计算的表达式$expr通常都是rvalue表达式;延迟计算的表达式#expr通常既可以作为rvalue表达式,也可以作为lvalue表达式。两种值表达式可以引用JavaBean组件、集合或隐式对象。

4、如:$customer、$customer.addressstreetrvalue表达式还可以直接引用非对象的常量值,如:$literal、$customer.age+20、$true、$57,值表达式中可以使用常量:布尔:true 和 false整数:和Java中的一样浮点:和Java中的一样字符串:使用单引号和双引号,可包含转义符,如:”、,等。空值:null值表达式的适用范围 在静态文本中在任何能够访问表达式的标准标签或者自定义标签的属性中。只使用表达式结构与一个或多个独立的表达式或静态文本混合使用只使用文本,即常量表达式,可省去$,值表达式,方法表达式,用于调用任意的公有方法,该方法必

5、须能够返回一个结果。方法表达式只能用于标签的属性中,并且只能以下面的方式来使用:单个表达式结构 只使用文本 方法表达式主要用于JSF技术。由于一个方法可以在生命周期的不同阶段被调用,因而方法表达式总是使用延迟计算符号#。相关用法在后面章节还会介绍。,7.4 EL 运算符,算术运算符:+、-(双目运算)、*、/或div、%或mod、-(单目运算)关系运算符:=或eq、!=或ne、或gt、=或le逻辑运算符:and或&、or或|、not或!空运算符:empty 判断一个值是否为空或者null条件运算符:A?B:C 根据A的值判断执行B或者C,若A为真则执行B,否则执行C,7.4 EL 保留字,an

6、deqgttrueinstanceoforneleFalseemptynotltgenulldivmod,其中有部分保留字暂未使用,只是预留给将来可能的需要【示例】operation.jsp,7.5 隐式对象,所谓隐式对象,这里指的是不需要声明就可直接使用的对象。EL的隐式对象分为5大类,共11种,分别介绍如下:JSP上下文环境隐式对象4个与JSP页面上下文环境相关的pageContext对象:servletContext:与Servlet和同一个应用中的Web组件的上下文环境关联的对象。session:会话对象,与客户的一次访问相关联的对象。request:与发送请求信息相关联的对象。res

7、ponse:与响应请求相关联的对象。,参数访问隐式对象,param:把请求参数名映射到单个值上。paramValues:把请求参数名映射到一个值的数组上。例如:姓名:$param.username密码:$param.password爱好:$paramValues.Habit0$paramValues.Habit1,作用域隐式对象,pageScope:把page范围内的变量名映射到它们的值上。requestScope:把request作用范围内的变量名映射到它们的值上。sessionScope:把session作用范围内的变量名映射到它们的值上。applicationScope:把applica

8、tion作用范围内的变量名映射到它们的值上。在未指定作用域时,变量的搜索顺序是从小到大,即page request session application,如果均未找到则返回null。,有如下3个访问HTTP头信息的隐匿对象:header:访问HTTP请求的一个具体的Header值 headerValues:访问所有的HTTP请求的header值 cookie:引用输入的Cookie对象,请求头访问隐式对象,初始化参数访问隐式对象,即initParam对象,它把上下文初始化参数的名字映射到一个值上。可以通过initParam来取得web站点的context参数值。例如,在web.xml文件中设定初始化参数如下:username Maly.可用下面的语句来访问初始化参数:$initParam.username它等价于(String)application.getInitParameter(username),隐式对象使用示例,例1:ELObj.jsp例2:operation.jsp,本章小结及时计算和延迟计算值表达式和方法表达式常量表达式运算符和保留字隐式对象下一章JSTL,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号