《el表达式》ppt课件

上传人:san****019 文档编号:83472001 上传时间:2019-02-27 格式:PPT 页数:20 大小:1.69MB
返回 下载 相关 举报
《el表达式》ppt课件_第1页
第1页 / 共20页
《el表达式》ppt课件_第2页
第2页 / 共20页
《el表达式》ppt课件_第3页
第3页 / 共20页
《el表达式》ppt课件_第4页
第4页 / 共20页
《el表达式》ppt课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《《el表达式》ppt课件》由会员分享,可在线阅读,更多相关《《el表达式》ppt课件(20页珍藏版)》请在金锄头文库上搜索。

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

2、JSP页面进行算术操作。而且使用算术运算符和Java的算术运算符非常相视,开发者能很熟练的使用这些算术运算符来进行开发,从而简化了页面代码量。 常用的算术运算符有加、减、乘、除、求余,如下表所示。,8.1.2 关系运算符,关系运算符主要用来进行比较操作。EL提供了关系运算符,使开发者能很方便的在JSP页面进行比较操作。 常用的关系运算符有等于、不等于、小于、大于、小于或等于、大于或等于,如下表所示。,8.1.3 逻辑运算符,逻辑运算符主要用来进行逻辑操作,如:交集、并集、非。EL提供了关系运算符,使开发者能很方便的在JSP页面进行逻辑操作。需要注意的是运算符两边的表达式必须是布尔类型的。,8.

3、1.4 条件运算符,前面提到了大量的预算符,下面还将介绍一个可以节省大量代码的条件运算符。条件运算符的格式如下。 $A ? B : C 如果A为true时,执行B代码;而如果A为false时,则执行C代码。,8.1.5 验证运算符,EL提供了验证运算符empty,其对于验证数据特别有用。empty运算符采用单个表达式作为其变量即$empty input,并返回一个布尔值,该布尔值表示对表达式求值的结果是不是“空”值。求值结果为null的表达式被认为是空,如无元素的集合或数组。如果参数是对长度为零的String求值所得的结果,则empty 运算符也将返回 true。,8.1.6 括号运算符以及运

4、算符的优先级,括号运算符主要用来改变运算的优先级,例如$(3+2)*8,执行结果为40。如果去掉括号,那么结果将为19。从而可以看出在括号中内容将会先执行。,8.2 EL内置对象,EL表达式非常简单,在前面已经介绍过EL的运算符。所有的EL表达式都是以“$”开始“”为结尾的。如:“$applicationScope.user.userName”。 如果按照以前的JSP Scriptlets的写法代码如下。 User user = (User)application.getAttribute(“user”); String username = user.getUserName();,8.2.1

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

6、使用 ,代码如下。 applicationScope.user“user-Name” (2)如果使用变量来传入,那么也就只能使用 。例如。 $applicationScope.userdata 这样做的效果等于于上面代码。 $applicationScope.user.userName,8.2.2 与储存有关的内置对象,前面几章介绍了JSP中有内置对象,同样在EL中也有自己的隐含对象。 首先介绍4个与存储范围有关的隐含对象,分别是applicationScope、sessionScope、requestScope、pageScope。这些隐含对象使用时来和JSP中的pageContext,re

7、quest,session,application一样。但是这四个隐含对象只能用来取得某个范围的属性值。即JSP中的getAttribute(String name),不能取得其他的信息。比如在JSP中request对象除了能够存取属性外,还可以用来接受参数和表头信息等。 (1)applicationScope对象,用来取得application范围属性值。 (2)sessionScope对象,用来取得session范围属性值。 (3)requestScope对象,用来取得request范围属性值。 (4)pageScope对象,用来取得page范围属性值。 如果不指定范围,如使用$name。

8、其意思是去取某一范围中名称为name的属性。因为并没有指定哪一个属性范围的name,所以它的默认值会从page范围内找,如果找不到,再依次到request、session、application范围中找。如果没有找到就返回null。在网页中也就没有显示。,8.2.3 与输入有关的内置对象,与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数。在使用EL之前可以使用如下代码取得用户的请求参数。 request.getParameter(String name); request.getParameterValues(name); 在使用EL时则可以使用param和

9、paramValues两者来取得用户请求参数。其中使用param接收的参数只有一个值,而如果参数有几个值,就必须使用paramValues来接受参数。,8.2.4 cookie内置对象,下面来介绍EL其他的隐含对象cookie、header、headerValues、iniParam、pageContext。 cookie以key-value(键值对)的形式存储在浏览器的缓存区内。EL中没有提供设定cookie的操作(这些操作一般都是后端开发者去做的),只能通过cookie对象设置cookie中的值。,8.2.5 header内置对象,header储存用户浏览器和服务器用来沟通的数据。当用户浏

10、览器请求服务器的页面时,会传送出一个记载信息的标头文件。而服务器端可以通过header或者headerValues来取得这些值。其中header用来取得同一标头名称只有一个值的信息,而headerValues用来取得同一标头名称拥有不同的值的信息。,8.2.6 initParam内置对象,initParam可以取得在web站点中设置的环境参数(context)值。,03 04 username 05 James 06 ,8.2.7 pageContext内置对象,pageContext用来取得有关用户请求和页面的详细信息。,取得请求的参数字符串 $pageContext.request.que

11、ryString 取得请求URL $pageContext.request.requestURL 取得web应用名称 $pageContext.request.contextPath 取得HTTP请求方式(GET or POST)pageContext.request.method 取得使用的协议 $pageContext.request.protocol 取得用户IP地址 $pageContext.request.remoteAddr 判断session是否为新 $pageContext.session.new 取得sessionID $pageContext.session.id,8.3 EL存取器,使用EL存取器(也称作导航)可以访问JavaBean、Map、对象数组和List等中的数据。EL对数据的访问比使用Scriptlets有着代码量少,易维护的特点。 使用存取器读取JavaBean中的数据 使用存取器读取Map中的数据 使用存取器读取数组中的数据 存取器复杂应用,8.4 综合练习,1、结合EL内置对象和EL算术表达式做一个简单的计算器程序。,8.5 小结,本章详细介绍了什么是EL表达式,还介绍了EL的运算符。介绍了EL的内置对象以及其作用和使用方法。最后重点介绍了EL存取器,以及如何通过存取器读取JavaBean中数据,如何读取Map中数据等等。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号