EL表达式PPT课件_第1页
EL表达式PPT课件_第2页
EL表达式PPT课件_第3页
EL表达式PPT课件_第4页
EL表达式PPT课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、ELEL表达式表达式 第8章 EL表达式 ELExpression Language,它原来是JSTL1.0为了方便存取数据 所定义的语言。到了JSP2.0以后,EL正式纳入成为标准规范之一。 只要是支持Servlet2.4/JSP2.0的Container,都可以在JSP网页中直 接使用EL。 通过本章的学习,读者应该能够完成如下几个目标。 熟练掌握使用EL运算符 熟练掌握EL内置对象 熟练掌握使用EL存取器 ELEL表达式表达式 8.1 EL运算符 EL提供了多种运算符操作,比如算术运算符、关系运算符、逻辑运算 符、验证运算符等。本节将对这些运算符进行详细的讲解。 8.1.1 算术运算符

2、算术运算符说明示例结果 +加$1 + 12 -减$1 - 10 *乘$1 * 22 /或div除$3 / 21.5 %或mod取余$3 % 21 通过EL提供算术运算符,开发者可以非常方便的在JSP页面进行算 术操作。而且使用算术运算符和Java的算术运算符非常相视,开发者 能很熟练的使用这些算术运算符来进行开发,从而简化了页面代码量。 常用的算术运算符有加、减、乘、除、求余,如下表所示。 8.1.2 关系运算符 关系运算符说明示例结果 = = 或 eq等于$1 = = 1或$1 eq 1true != 或ne不等于$1 != 1或$1 ne 1false 或 lt小于$1 或 gt大于$1

3、2或$1 gt 1false = 或 le小于或者等于$1 = 或 ge大于或者等于$1 = 2或$1 ge 1false 关系运算符主要用来进行比较操作。EL提供了关系运算符,使开发 者能很方便的在JSP页面进行比较操作。 常用的关系运算符有等于、不等于、小于、大于、小于或等于、大于或 等于,如下表所示。 8.1.3 逻辑运算符 逻辑运算符说明示例结果 String username = user.getUserName(); 8.2.1 .与 运算符 EL通过.与 运算符来存取数据。比如: $applicationScope.user.userName 等价于 $applicationSc

4、ope.user“userName” .和 也可以同时混合使用,如下: $sessionScope.shoppingCart0.price 回传的结果为shoppingCart中第一项物品的价格。 接下来介绍两者的差异。 8.2.1 .与 运算符 (1)如果存取的属性名称包含一些特殊的符号,如“.”或者是“-”等非 字母或数字的符号时,就必须使用 ,例如。 applicationScope.user.usert-Name 这样写是错误的,必须使用 ,代码如下。 applicationScope.user“user-Name” (2)如果使用变量来传入,那么也就只能使用 。例如。 $applic

5、ationScope.userdata 这样做的效果等于于上面代码。 $applicationScope.user.userName 8.2.2 与储存有关的内置对 象 前面几章介绍了JSP中有内置对象,同样在EL中也有自己的隐含对象。 首先介绍4个与存储范围有关的隐含对象,分别是applicationScope、 sessionScope、requestScope、pageScope。这些隐含对象使用时来和JSP中 的pageContext,request,session,application一样。但是这四个隐含对象只 能用来取得某个范围的属性值。即JSP中的getAttribute(St

6、ring name),不能取 得其他的信息。比如在JSP中request对象除了能够存取属性外,还可以用来接 受参数和表头信息等。 (1)applicationScope对象,用来取得application范围属性值。 (2)sessionScope对象,用来取得session范围属性值。 (3)requestScope对象,用来取得request范围属性值。 (4)pageScope对象,用来取得page范围属性值。 如果不指定范围,如使用$name。其意思是去取某一范围中名称为name的属 性。因为并没有指定哪一个属性范围的name,所以它的默认值会从page范围 内找,如果找不到,再依次

7、到request、session、application范围中找。如果 没有找到就返回null。在网页中也就没有显示。 8.2.3 与输入有关的内置对 象 与输入有关的隐含对象有两个param和paramValues,用来取得用户 的请求参数。在使用EL之前可以使用如下代码取得用户的请求参数。 request.getParameter(String name); request.getParameterValues(name); 在使用EL时则可以使用param和paramValues两者来取得用户请求参数。 其中使用param接收的参数只有一个值,而如果参数有几个值,就必须 使用paramV

8、alues来接受参数。 8.2.4 cookie内置对象 下面来介绍EL其他的隐含对象cookie、header、headerValues、 iniParam、pageContext。 cookie以key-value(键值对)的形式存储在浏览器的缓存区内。EL中 没有提供设定cookie的操作(这些操作一般都是后端开发者去做的), 只能通过cookie对象设置cookie中的值。 8.2.5 header内置对象 header储存用户浏览器和服务器用来沟通的数据。当用户浏览器请 求服务器的页面时,会传送出一个记载信息的标头文件。而服务器端可 以通过header或者headerValues来取

9、得这些值。其中header用来取得 同一标头名称只有一个值的信息,而headerValues用来取得同一标头 名称拥有不同的值的信息。 8.2.6 initParam内置对象 initParam可以取得在web站点中设置的环境参数(context)值。 03 04username 05James 06 8.2.7 pageContext内置对 象 pageContext用来取得有关用户请求和页面的详细信息。 取得请求的参数字符串 $pageContext.request.queryString 取得请求URL $pageContext.request.requestURL 取得web应用名称

10、$pageContext.request.contextPath 取得HTTP请求方式(GET or POST)pageContext.request.method 取得使用的协议 $pageCtocol 取得用户IP地址 $pageContext.request.remoteAddr 判断session是否为新 $pageContext.session.new 取得sessionID $pageContext.session.id 8.3 EL存取器 使用EL存取器(也称作导航)可以访问JavaBean、Map、对象数 组和List等中的数据。EL对数据的访问比使用Scriptlets有着代码量少, 易维护的特点。 使用存取器读取JavaBean中的数据 使用存取器读取Map中的数据 使用存取器读取

温馨提示

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

评论

0/150

提交评论