ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:29.50KB ,
资源ID:9295102      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9295102.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EL详解25189.doc)为本站会员(hwpkd79526)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

EL详解25189.doc

1、EL 详解 25189EL 表达式总是用大括号括起,而且前面有一个美元符($)前缀:$expression。表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性。点 号操作符允许你使用一个 Map 键或一个 bean 性质名来访问值,例如,使用$foo.bar可以得到 bar 的值,在此,bar 是 Map foo的 Map 键名,或者是 bean foo 的一个性质。放在点号操作符右边的东西必须遵循 Java 的标识符命名规则!(换句话说,必须以一个字母、下划线或美元符开头,第一个字符后面可以有 数字,但不能有其他字符) 。

2、点号右边只能放合法的 Java 标识符。例如,$foo.1键就不可以。操作符比点号功能更强大,因为利用可以访问数组和 List,可以把包含命名变量的表达式放在中括号里,而且可以做任意层次的嵌套,只要你受得了。例如,如果 musicList 是一个 ArrayList,可以用$musicList0或$musicList“0”来访问列表的第一个值。EL 并不关心列表索引加不加引号。如果中括号里的内容没有用引号引起来,容器就会进行计算。如果确实放在引号里,而且不是一个数组或 List 的索引,容器就会把它看作是性质或键的直接命名。除 了一个 EL 隐式对象(PageContext)外,其他 EL 隐

3、式对象都是Map。从这些隐式对象可以得到任意 4 个作用域中的属性、请求参数值、首部值、 cookie 值和上下文初始化参数。非映射的隐式对象是 pageContext,它是 PageContext 对象的一个引用。不 要把隐式 EL 作用域对象(属性的 Map)与属性所绑定的对象混为一谈。换句话说,不要把 requestScope 隐式对象与具体的 JSP 隐式对象 request 混淆。访问请求对象只有一条路,这就是通过pageContext 隐式对象来访问(不过,想从请求得到的一些东西通过其他 EL 隐式对象也可 以得到,包括param/paramValues、header/header

4、Values 和 cookie) 。EL 允许你调用一个普通 Java 类中的公共静态方法。函数名不一定与具体的方法名相匹配!例如,$foo:roolIt()并不意味着包含函数的类中肯定有一个名为 roolIt()的方法。使 用一个 TLD 将函数名(例如 roolIt())映射到一个具体的静态方法。使用元素声明一个函数,包括函数 的(roolIt()、完全限定类以及,其中包括返回类型以及方法名和参数表。要在 JSP 中使用函数,必须使用 taglib 指令声明一个命名空间。在taglib 指令中放一个 prefix 属性,告诉容器你要的函数在哪个 TLD里能找到。例如:基本语法一、EL 简介

5、1.语法结构$expression2.与.运算符EL 提供.和两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 。例如:$user.My-Name应当改为$user“My-Name“ 如果要动态取值时,就可以用来做,而.无法做到动态取值。例如:$sessionScope.userdata中 data 是一个变量3.变量EL 存取变量数据的方法很简单,例如:$username。它的意思是取出某一范围中名称为 username 的变量。因为我们并没有指定哪一个范围的 username,所以它会依序从Page、Request、Session、A

6、pplication 范围查找。假如途中找到 username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传 null。属性范围在 EL 中的名称Page PageScopeRequest RequestScopeSession SessionScopeApplication ApplicationScope二、EL 隐含对象1.与范围有关的隐含对象与范围有关的 EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和 applicationScope;它们基本上就和 JSP 的 pageContext、request、ses

7、sion 和application 一样;在 EL 中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。例如:我们要取得 session 中储存一个属性 username 的值,可以利用下列方法:session.getAttribute(“username“) 取得 username 的值,在 EL 中则使用下列方法$sessionScope.username2.与输入有关的隐含对象与输入有关的隐含对象有两个:param 和 paramValues,它们是 EL中比较特别的隐含对象。例如我们要取得用户的请求参数时,可以利用下列

8、方法:request.getParameter(String name)request.getParameterValues(String name)在 EL 中则可以使用 param 和 paramValues 两者来取得数据。$param.name$paramValues.name3.其他隐含对象cookieJSTL 并没有提供设定 cookie 的动作,例:要取得 cookie 中有一个设定名称为 userCountry 的值,可以使用$cookie.userCountry来取得它。header 和 headerValuesheader 储存用户浏览器和服务端用来沟通的数据例:要取得用户

9、浏览器的版本,可以使用$header“User-Agent“。另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用 headerValues 来取得这些值。initParaminitParam 取得设定 web 站点的环境参数(Context)例:一般的方法 String userid = (String)application.getInitParameter(“userid“);可以使用 $initParam.userid来取得名称为 useridpageContextpageContext 取得其他有关用户要求或页面的详细信息。$pageContext.request.qu

10、eryString 取得请求的参数字符串$pageContext.request.requestURL 取得请求的URL,但不包括请求之参数字符串$pageContext.request.contextPath 服务的 web application 的名称$pageContext.request.method 取得 HTTP 的方法(GET、POST)$pageContext.request.protocol 取得使用的协议(HTTP/1.1、HTTP/1.0)$pageContext.request.remoteUser 取得用户名称$pageContext.request.remoteA

11、ddr 取得用户的IP 地址$pageContext.session.new 判断 session 是否为新的$pageContext.session.id 取得 session 的ID$pageContext.servletContext.serverInfo 取得主机端的服务信息三、EL 运算符1.算术运算符有五个:+、-、*或$、/或 div、%或 mod2.关系运算符有六个:=或 eq、!=或 ne、或 gt、=或 ge3.逻辑运算符有三个:&或 and、|或 or、!或 not4.其它运算符有三个:Empty 运算符、条件运算符、()运算符例:$empty param.name、$A

12、?B:C、$A*(B+C)四、EL 函数(functions)。语法:ns:function( arg1, arg2, arg3 . argN)其中 ns 为前置名称(prefix),它必须和 taglib 指令的前置名称一置1 EL 表达式用$表示,可用在所有的 HTML 和 JSP 标签中 作用是代替 JSP 页面中复杂的 JAVA 代码.2 EL 表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有$param和$paramValues. $param表示返回请求参数中单个字符串的值. $paramValues表示返回请求参数的一组值.pageScope 表示页面范围的变量.req

13、uestScope 表示请求对象的变量. sessionScope 表示会话范围内的变量.applicationScope 表示应用范围的变量.3 表示是否禁用 EL 语言,TRUE 表示禁止.FALSE 表示不禁止.JSP2.0 中默认的启用 EL 语言.4 EL 语言可显示 逻辑表达式如$true and false结果是 false 关系表达式如$56 结果是 false 算术表达式如 $5+5 结果是 105 EL 中的变量搜索范围是:page request session application 点运算符(.)和“ “都是表示获取变量的值.区别是 可以显示非词类的变量$uplist0.lzid = zulist.zname?selected:

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报