第07章 统1表达式语言〔EL〕.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第07章 统1表达式语言〔EL〕

第7章 统一表达式语言 概述   从JSP2.0版开始就引入了统一表达式语言(EL),主要是为了解决JSP页面中嵌入大量Java代码的维护问题。EL具有语法简单、使用方便等特点。   从JSP2.1版开始,统一表达式语言还涵盖了JSF(基于组件的Java Web应用框架模型)的表达式语言,其主要功能有: 动态地读取存储在JavaBean组件中的不同数据结构和显式对象的数据; 动态地将数据写到JavaBean组件中; 调用任意静态和公有的方法; 动态执行算术运算。 7.1 EL 的基本用法示例   首先通过一个简单的示例,该示例通过login.html调用login.jsp,在后者中通过EL表达式显示登录信息。login.jsp文件如下: %@ page contentType=text/html;charset=GB2312 % html headtitle登录信息/title/head body 姓名: ${param.username}br 密码: ${param.password}br 爱好: ${paramValues.Habit[0]} ${paramValues.Habit[1]} /body /html 7.2 及时计算和延迟计算 及时计算:指页面在第一次被调用时,JSP引擎就计算表达式并立即返回结果。 所有使用${expr}符号的表达式都是及时执行的。 只能用于HTML模板数据中或者作为能够使用运行时表达式的JSP标签属性值。例如:  c:out value=${sessionScope.username}/ 延迟计算:在页面生命周期以后通过某种机制延迟计算表达式,直到生命周期的合适点出现。 延迟计算表达式的格式为#{expr} 可以在任何使用表达式技术定义的页面生命周期的其他阶段进行计算。例如:h:inputText id=name value=#{} / 统一表达式语言(EL)既支持及时计算,也支持延迟计算。由于JSF技术采用多阶段生命周期,因而其EL表达式需要延迟计算,直到生命周期的合适点出现。 7.3 值表达式和方法表达式 值表达式 值表达式又可以分为rvalue和lvalue表达式。rvalue表达式是只能读不能写的表达式,而lvalue表达式既能读又能写。 所有及时计算的表达式${expr}通常都是rvalue表达式;延迟计算的表达式#{expr}通常既可以作为rvalue表达式,也可以作为lvalue表达式。 两种值表达式可以引用JavaBean组件、集合或隐式对象。如:${customer}、${customer.address[street]} rvalue表达式还可以直接引用非对象的常量值 ,如:  ${literal}、${customer.age + 20}、${true}、${57} 值表达式 值表达式中可以使用常量: 布尔:true 和 false 整数:和Java中的一样 浮点:和Java中的一样 字符串:使用单引号和双引号,可包含转义符,如:\”、\’,\\等。 空值:null 值表达式的适用范围 在静态文本中 在任何能够访问表达式的标准标签或者自定义标签的属性中。 只使用表达式结构 与一个或多个独立的表达式或静态文本混合使用 只使用文本,即常量表达式,可省去${} 方法表达式 用于调用任意的公有方法,该方法必须能够返回一个结果。 方法表达式只能用于标签的属性中,并且只能以下面的方式来使用: 单个表达式结构  some:tag value=#{bean.method}/ 只使用文本  some:tag value=sometext/ 方法表达式主要用于JSF技术。由于一个方法可以在生命周期的不同阶段被调用,因而方法表达式总是使用延迟计算符号#。相关用法在后面章节还会介绍。 7.4 EL 运算符 算术运算符: +、- (双目运算)、*、/ 或div、%或mod、- (单目运算) 关系运算符: ==或eq、!=或ne、或lt、或gt、=或ge、=或le 逻辑运算符: and或、or或||、not或! 空运算符: empty 判断一个值是否为空或者null 条件运算符: A ? B : C 根据A的值判断执行B或者C,若A为真则执行B,否则执行C 7.4 EL 保留字 and  eq   gt  true  instanceof or  ne  le  False  empty not lt  ge  null  div  mod 7.5 隐式对象   所谓隐式对象,这里指的是不需要声明就可直接使用的对象。EL的隐式对象分为5大类,共11种,分别介绍如下: JSP上下文环境隐式对象 4个与JSP页面上下文环境相关的p

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档