posts - 495,  comments - 11,  trackbacks - 0

基本的OGNL语法是十分简单的,当然OGNL支持丰富的表达式,一般情况下,不用担心OGNL的复杂性。例如有一个man对象,该对象有一个name属性,那么使用OGNL来获得该name属性可以使用如下表达式:

man.name

OGNL表达式的基础单元称为导航链,简称为链。一个最简单的链由如下部分组成。
>
属性名称:如上述示例中的name
>
方法调用:hashCode()返回当前对象的hash code
>
数组元素:listeners[0]返回当前对象的监听器列表中的第一个元素。

说明

OGNL表达式基于OGNL上下文中的当前对象,一个将使用上一个的处理结果,开发者可以任意扩展该链的长度,OGNL没有限制。

例如,一个OGNL表达式如下:

name.toCharArray()[0].numericValue.toString()


该表达式将按照如下步骤求值。

1)获得OGNL Context中初始对象或者是根对象(root对象)的name对象。

2)调用toCharArray()方法,返回一个String类型对象。

3)获得该String对象的第一个字符。

4)获得该字符的numericValue属性(该字符为一个Character对象,该对象有一个getNumericValue()方法,该方法返回一个Integer类型值)。

5)将获得的Integer对象转换为一个String类型值(使用toString()方法)。

posted on 2009-08-13 13:55 jadmin 阅读(76) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: