EL表达式使用.doc_第1页
EL表达式使用.doc_第2页
EL表达式使用.doc_第3页
EL表达式使用.doc_第4页
EL表达式使用.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

EL表达式 关键字: jsp the JavaServer Pages Standard Tag Library (JSTL) JSP Standard Tag Library (JSTL) EL(expression language)表达式EL 表达式的格式是这样的:用美元符号($)定界,内容包括在花括号()中。 清单 1. 说明 EL 表达式定界符的 JSTL 操作 ; 此外,您可以将多个表达式与静态文本组合在一起以通过字符串并置来构造动态属性值,如清单 4 所示。单独的表达式由标识符、存取器、文字和运算符组成。标识符用来引用存储在数据中心中的数据对象。EL 有 11 个保留标识符,对应于 11 个 EL 隐式对象。假定所有其它标识符都引用限制了作用域的变量。存取器用来检索对象的特性或集合的元素。文字表示固定的值 数字、字符、字符串、布尔型或空值。运算符允许对数据和文字进行组合以及比较。 清单 2. 组合静态文本和多个 EL 表达式以指定动态属性值 ; 隐式对象 表 1 中列出了 11 个 EL 隐式对象的标识符。不要将这些对象与 JSP 隐式对象(一共只有九个)混淆,其中只有一个对象是它们所共有的。表 1. EL 隐式对象 类别 标识符 描述 JSP pageContext PageContext 实例对应于当前页面的处理 作用域 pageScope 与页面作用域属性的名称和值相关联的 Map 类 requestScope 与请求作用域属性的名称和值相关联的 Map 类 sessionScope 与会话作用域属性的名称和值相关联的 Map 类 applicationScope 与应用程序作用域属性的名称和值相关联的 Map 类 请求参数 param 按名称存储请求参数的主要值的 Map 类 paramValues 将请求参数的所有值作为 String 数组存储的 Map 类 请求头 header 按名称存储请求头主要值的 Map 类 headerValues 将请求头的所有值作为 String 数组存储的 Map 类 Cookie cookie 按名称存储请求附带的 cookie 的 Map 类 初始化参数 initParam 按名称存储 Web 应用程序上下文初始化参数的 Map 类 尽管 JSP 和 EL 隐式对象中只有一个公共对象(pageContext),但通过 EL 也可以访问其它 JSP 隐式对象。原因是 pageContext 拥有访问所有其它八个 JSP 隐式对象的特性。实际上,这是将它包括在 EL 隐式对象中的主要理由。其余所有 EL 隐式对象都是映射,可以用来查找对应于名称的对象。前四个映射表示先前讨论的各种属性作用域。可以用它们来查找特定作用域中的标识符,而不用依赖于 EL 在缺省情况下使用的顺序查找过程。接下来的四个映射用来获取请求参数和请求头的值。因为 HTTP 协议允许请求参数和请求头具有多个值,所以它们各有一对映射。每对中的第一个映射返回请求参数或头的主要值,通常是恰巧在实际请求中首先指定的那个值。每对中第二个映射允许检索参数或头的所有值。这些映射中的键是参数或头的名称,但这些值是 String 对象的数组,其中的每个元素都是单一参数值或头值。cookie 隐式对象提供了对由请求设置的 cookie 名称的访问。这个对象将所有与请求相关联的 cookie 名称映射到表示那些 cookie 特性的 Cookie 对象。最后一个 EL 隐式对象 initParam 是一个映射,它储存与 Web 应用程序相关联的所有上下文的初始化参数的名称和值。初始化参数是通过 web.xml 部署描述符文件指定的,该文件位于应用程序的 WEB-INF 目录中。 最终,EL 还包括了几个用来操作和比较 EL 表达式所访问数据的运算符。表 2 中汇总了这些运算符。表 2. EL 运算符类别 运算符 算术运算符 +、-、*、/(或 div)和 %(或 mod) 关系运算符 =(或 eq)、!=(或 ne)、;(或 lt)、;(或 gt)、;=(或 ge) 逻辑运算符 &(或 and)、|(或 or)和 !(或 not) 验证运算符 empty 清单 3. 利用算术运算符的 EL 表达式 $item.price * (1 + taxRateuser.address.zipcode) 清单 4. 利用关系和逻辑运算符的 EL 表达式 $(x ;= min) & (x = max) 表 3. EL 运算符优先级(自顶到底,从左到右), . () unary -、not、!、empty *、/、div、%、mod +、binary - () ;、;、;=、lt、gt、le、ge =、!=、eq、ne &、and |、or 清单 5. 用于 JSTL core 库 EL 版本的 taglib 伪指令 ; ? 这个问题一般是由于你使用的jstl版本造成的。 你的页面应该会包含如下代码: 这是最新版的jstl 1.1路径,而如果你使用的是旧版1.0的则需要把路径中的jsp去掉,如下: 掌握EL表达式 关键字: Tag标签 EL脚本语言的配置和支持: 对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为isELIgnored=true; 对于整个JSP应用程序,要修改WEB.XML配置(tomcat5.0.16默认是支持EL的); jsp-property-group description For config the ICW sample application /description display-nameJSPConfiguration /display-nameurl-pattern/jsp/datareset.jsp /url-patternel-ignoredtrue / el-ignoredpage-encodingISO-8859-1/page-encoding scripting-invalidtrue/scripting-invalidinclude-prelude/jsp/prelude.jspf/include-prelude include-coda/jsp/coda.jspf/include-coda/jsp-property-group 算术运算符演示: 以下是EL运算符列表,其中empty可以检查某个值是否为空 运算符 说明 运算符 说明 + 加 或 gt 大于 - 减 = 或 ge 大于等于 / 或 div 除 & 或 and 逻辑与 % 或 mod 模(求余) | 或 or 逻辑或 = 或 = 等于 ! 或 not 逻辑非 != 不等于 empty 检查是否为空值 或 lt 小于 a ? b : c 条件运算符 EL表达式使用简单,在网页中$表示是EL表达式。$1+1 显示为 2 EL算术表达式 运算结果 EL 关系运算表达式 运算结果 $1 1 $1 (4/2) false $-4 - 2 -6 $4.0 = 3 true $21 * 2 42 $4.0 ge 3 true $10%4 2 $100.0 eq 100 true $10 mod 4 2 $(10*10) != 100 false $(1=2) ? 3 : 4 4 $(10*10) ne 100 false 隐含对象数据演示: EL 表达式定义了11个隐含对象,使用这11个对象可以很方便的读取到session,cookie,HttpHeader,用户提交表单(param)等 隐含对象 内容 applicationScope 应用程序范围内的scoped变量组成的集合 cookie 所有cookie组成的集合 header HTTP请求头部,字符串 headerValues HTTP请求头部,字符串集合 initParam 全部应用程序参数名组成的集合 pageContext 当前页面的javax.servlet.jsp.PageContext对象 pageScope 页面范围内所有对象的集合 param 所有请求参数字符串组成的集合 paramValues 所有作为字符串集合的请求参数 requestScope 所有请求范围的对象的集合 sessionScope 所有会话范围的对象的集合 下面是获取HTTP访问头部数据和用户提交数据的示例 EL表达式 运算结果 $headerhost 这里得到HTTP连接头部的host值 $headeraccept 这里获得HTTP头部的accept值 $headeruser-agent 这里获得HTTP头部的user-agent值 以下可以读取用户提交的信息,假设用户提交信息为 ?name=myname&alies=(这里有两种访问方式,一种是使用来进行访问,另外一种是使用

温馨提示

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

评论

0/150

提交评论