表达式语言OGNL

表达式语言OGNL

ID:38299786

大小:1.52 MB

页数:38页

时间:2019-06-08

表达式语言OGNL_第1页
表达式语言OGNL_第2页
表达式语言OGNL_第3页
表达式语言OGNL_第4页
表达式语言OGNL_第5页
资源描述:

《表达式语言OGNL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、表达式语言OGNL课程结构内容课时(H)第一章:Struts2入门3第二章:Struts2中的Action6第三章:Struts2拦截器3第四章:表达式语言OGNL3第五章:Struts2标签库3第六章:类型转换3第七章:国际化3第八章:文件上传和下载3第九章:校验框架3第四章:表达式语言OGNL目标:本章旨在向学员介绍:1)OGNL表达式的基本语法2)理解值栈3)会访问值栈以及上下文中的内容时间:3学时教学方法:授课+练习第四章:表达式语言OGNL本章内容4.1OGNL简介4.2OGNL基础4.3O

2、GNL基本语法4.1.1表达式语言EL(ExpressionLanguage)的作用避免(MyType)request.getAttribute()和myBean.getMyProperty()之类的语句,使页面更简洁;支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能;简单明了地表达代码逻辑,使用代码更可读与便于维护。4.1.2Struts2支持的表达式语言Struts2支持以下几种表达式语言OGNL(Object-GraphNavigationLanguage),可以方便地操作对象

3、属性的开源表达式语言;JSTL(JSPStandardTagLibrary),JSP2.0集成的标准的表达式语言;Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python、Ruby和Smarttalk等)的一些起特性;Velocity,严格来说不是表达式语言,它是一种基于Java的模板匹配引擎,具说其性能要比JSP好。Struts2默认的表达式语言是OGNL是一种表达式语言,通过简单一致的表达式语法,可以存取对象的任意属性。4.1.3OGNL的优势支持对象方法调用,如xx

4、x.doSomeSpecial()支持类静态的方法调用和值访问支持赋值操作和表达式串联,如price=100,discount=0.8,calculatePrice(),这个表达式会返回80访问OGNL上下文(OGNLcontext)和ActionContext操作集合对象4.1.4OGNLOGNL是Object-GraphNavigationLanguage的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调

5、用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。现在的Struts2.x中使用OGNL取代原来的EL来做界面数据绑定,所谓界面数据绑定,也就是把界面元素和对象层某个类的某个属性绑定在一起,修改和显示自动同步。和struts1.x的formbean相比,这样做的好处非常明显:在Struts2.x中不需要为每个页面专门写formbean,可以直接利用对象层的对象。如果我们把表达式看做是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之

6、间沟通的桥梁。4.1.5使用OGNL的原因OGNL称为对象图导航语言。所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象。示例:publicclassUser{privateStringusername;privateGroupgroup;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicGroupgetG

7、roup(){returngroup;}publicvoidsetGroup(Groupgroup){this.group=group;}}4.1.5使用OGNL的原因publicclassGroup{privateStringname;privateOrganizationorg;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicOrganizationgetOrg(){retu

8、rnorg;}publicvoidsetOrg(Organizationorg){this.org=org;}}publicclassOrganization{privateStringorgId;publicStringgetOrgId(){returnorgId;}publicvoidsetOrgId(StringorgId){this.orgId=orgId;}}4.1.5使用OGNL的原因上面三个类,描述了通过一个User对象,可以导航到Grou

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。