ONGL入门介绍

ONGL入门介绍

ID:40711354

大小:36.50 KB

页数:7页

时间:2019-08-06

ONGL入门介绍_第1页
ONGL入门介绍_第2页
ONGL入门介绍_第3页
ONGL入门介绍_第4页
ONGL入门介绍_第5页
资源描述:

《ONGL入门介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ONGL简介(2009-08-1021:40:56)转载标签:onglstrutsjava学习杂谈分类:学习OGNL的全称是ObjectGraphNavigationLanguage(对象图导航语言),它是一种强大的表达式语言,让你通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。为什么使用OGNL  相对于其它的表达式语言,OGNL的功能更为强大,它提供了很多高级而必需的特性,例如强大的类型转换功能、静态或实例方法的执行、跨集合投影,以及动态lamb

2、da表达式定义等。OGNL基础  OGNL表达式的计算都是围绕OGNL上下文来进行的,OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类(实现了java.util.Map接口)来表示。OGNL上下文可以包含一个或多个JavaBean对象,在这些对象中有一个是特殊的,这个对象就是上下文的根(root)对象。如果在写表达式的时候,没有指定使用上下文中的哪一个对象,那么根对象将被假定为表达式所依据的对象。在OGNL上下文中,只能有一个根对象,如果你访问根对象,那么在写表达式的时候,直接写对象的属性就可

3、以了;否则,你需要使用“#key”前缀,例如表达式#namager.name。OGNL表达式  OGNL表达式的基础单元就是导航链,通常简称为链(chain)。最简单的链由下列部分组成:    1、属性名:如name和manager.name;    2、方法调用:如manager.hashCode(),返回manager对象的散列码;    3、数组索引:如emals[0],返回当前对象的邮件列表中的第一个邮件地址。  所有OGNL表达式的计算都是在当前对象的上下文中,一个链简单地使用链中先前链接的结果作为下一步计算的

4、当前对象。我们看如下所示的链:  name.toCharArray()[0].numericValue.toString()  这个表达式按照下列的步骤进行计算:    1、获取根对象的name属性;    2、在String结果上调用toCharArray()方法;    3、从char数组中提取第一个字符;    4、从提取的字符对象上行到numericValue属性(这个字符被表示为Character对象,Character类有一个getNumericValue()方法);    5、在Integer对象结果上调用

5、toString()方法。  这个表达式最终结果是最后返回的toString()方法调用返回的字符串。常量  OGNL支持的所有常量类型:   1、字符串常量:     以单引号或双引号括起来的字符串。如”hello”,’hello’。     不过要注意的是,如果是单个字符的字符串常量,必须使用双引号。   2、字符常量:     以单引号括起来的字符。如’a'。   3、数值常量:     除了Java中的int、long、float和double外,OGNL还让你使用“b”或“B”后缀指定BigDecimal常量,

6、用“h”“H”后缀指定BigInteger常量。   4、布尔常量:     true和false。   5、null常量。操作符  OGNL除了支持所有的Java操作符外,还支持以下几种:   1、逗号,     与C语言中的逗号操作符类似。   2、花括号{}     用于创建列表,元素之间用逗号分隔。   3、in和notin     用于判断一个值是否在集合中。访问JavaBean的属性  假如有一个employee对象作为OGNL上下文的根对象,那对于下面的表达式:   1、name      对应的java代

7、码是employee.getName();   2、address.country      对应的java代码是employee.getAddress().getCountry();访问静态方法和静态字段  @class@method(args)     //调用静态方法  @class@field        //调用静态字段  其中class必须给出完整的类名(包括包名),如果省略class,那么默认使用的类是java.util.Math,如:  @@min(5,3)  @@max(5,3)  @@PI索引访问 

8、 OGNL支持多种索引方式的访问。   1、数组和列表索引     在OGNL中,数组和列表可以大致看成是一样的。     如:array[0]、list[0]。表达式:{’zhangsan’,'lisi’,'wangwu’}[1]等。   2、JavaBean的索引属性     要使用索引属性,需要提供两对sett

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

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

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