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

上传人:zhu****ei 文档编号:3525034 上传时间:2019-12-17 格式:PPT 页数:16 大小:170.50KB
返回 下载 相关 举报
统一表达式语言(EL).ppt_第1页
第1页 / 共16页
统一表达式语言(EL).ppt_第2页
第2页 / 共16页
统一表达式语言(EL).ppt_第3页
第3页 / 共16页
点击查看更多>>
资源描述
第7章统一表达式语言,主要内容:及时计算和延迟计算值表达式和方法表达式常量表达式运算符和保留字隐式对象,概述,从JSP2.0版开始就引入了统一表达式语言(EL),主要是为了解决JSP页面中嵌入大量Java代码的维护问题。EL具有语法简单、使用方便等特点。从JSP2.1版开始,统一表达式语言还涵盖了JSF(基于组件的JavaWeb应用框架模型)的表达式语言,其主要功能有:动态地读取存储在JavaBean组件中的不同数据结构和显式对象的数据;动态地将数据写到JavaBean组件中;调用任意静态和公有的方法;动态执行算术运算。,7.1EL的基本用法示例,首先通过一个简单的示例,该示例通过login.html调用login.jsp,在后者中通过EL表达式显示登录信息。login.jsp文件如下:登录信息姓名:$param.username密码:$param.password爱好:$paramValues.Habit0$paramValues.Habit1,7.2及时计算和延迟计算,及时计算:指页面在第一次被调用时,JSP引擎就计算表达式并立即返回结果。所有使用$expr符号的表达式都是及时执行的。只能用于HTML模板数据中或者作为能够使用运行时表达式的JSP标签属性值。例如:延迟计算:在页面生命周期以后通过某种机制延迟计算表达式,直到生命周期的合适点出现。延迟计算表达式的格式为#expr可以在任何使用表达式技术定义的页面生命周期的其他阶段进行计算。例如:统一表达式语言(EL)既支持及时计算,也支持延迟计算。由于JSF技术采用多阶段生命周期,因而其EL表达式需要延迟计算,直到生命周期的合适点出现。,7.3值表达式和方法表达式,值表达式值表达式又可以分为rvalue和lvalue表达式。rvalue表达式是只能读不能写的表达式,而lvalue表达式既能读又能写。所有及时计算的表达式$expr通常都是rvalue表达式;延迟计算的表达式#expr通常既可以作为rvalue表达式,也可以作为lvalue表达式。两种值表达式可以引用JavaBean组件、集合或隐式对象。如:$customer、$customer.addressstreetrvalue表达式还可以直接引用非对象的常量值,如:$literal、$customer.age+20、$true、$57,值表达式中可以使用常量:布尔:true和false整数:和Java中的一样浮点:和Java中的一样字符串:使用单引号和双引号,可包含转义符,如:”、,等。空值:null值表达式的适用范围在静态文本中在任何能够访问表达式的标准标签或者自定义标签的属性中。只使用表达式结构与一个或多个独立的表达式或静态文本混合使用只使用文本,即常量表达式,可省去$,值表达式,方法表达式,用于调用任意的公有方法,该方法必须能够返回一个结果。方法表达式只能用于标签的属性中,并且只能以下面的方式来使用:单个表达式结构只使用文本方法表达式主要用于JSF技术。由于一个方法可以在生命周期的不同阶段被调用,因而方法表达式总是使用延迟计算符号#。相关用法在后面章节还会介绍。,7.4EL运算符,算术运算符:+、-(双目运算)、*、/或div、%或mod、-(单目运算)关系运算符:=或eq、!=或ne、或gt、=或le逻辑运算符:and或&、or或|、not或!空运算符:empty判断一个值是否为空或者null条件运算符:A?B:C根据A的值判断执行B或者C,若A为真则执行B,否则执行C,7.4EL保留字,andeqgttrueinstanceoforneleFalseemptynotltgenulldivmod,其中有部分保留字暂未使用,只是预留给将来可能的需要【示例】operation.jsp,7.5隐式对象,所谓隐式对象,这里指的是不需要声明就可直接使用的对象。EL的隐式对象分为5大类,共11种,分别介绍如下:JSP上下文环境隐式对象4个与JSP页面上下文环境相关的pageContext对象:servletContext:与Servlet和同一个应用中的Web组件的上下文环境关联的对象。session:会话对象,与客户的一次访问相关联的对象。request:与发送请求信息相关联的对象。response:与响应请求相关联的对象。,参数访问隐式对象,param:把请求参数名映射到单个值上。paramValues:把请求参数名映射到一个值的数组上。例如:姓名:$param.username密码:$param.password爱好:$paramValues.Habit0$paramValues.Habit1,作用域隐式对象,pageScope:把page范围内的变量名映射到它们的值上。requestScope:把request作用范围内的变量名映射到它们的值上。sessionScope:把session作用范围内的变量名映射到它们的值上。applicationScope:把application作用范围内的变量名映射到它们的值上。在未指定作用域时,变量的搜索顺序是从小到大,即pagerequestsessionapplication,如果均未找到则返回null。,有如下3个访问HTTP头信息的隐匿对象:header:访问HTTP请求的一个具体的Header值headerValues:访问所有的HTTP请求的header值cookie:引用输入的Cookie对象,请求头访问隐式对象,初始化参数访问隐式对象,即initParam对象,它把上下文初始化参数的名字映射到一个值上。可以通过initParam来取得web站点的context参数值。例如,在web.xml文件中设定初始化参数如下:usernameMaly.可用下面的语句来访问初始化参数:$initParam.username它等价于(String)application.getInitParameter(username),隐式对象使用示例,例1:ELObj.jsp例2:operation.jsp,本章小结及时计算和延迟计算值表达式和方法表达式常量表达式运算符和保留字隐式对象下一章JSTL,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!