二.属性引用 OGNL 第4章. 表达式

OGNL在处理属性引用时, 会根据对象类型的不同而执行不同的动作.

对于Map对象的属性引用, 会作为以属性名为key的一次元素查找或元素存储操作.

对于List对象或数组, 数值型的属性引用会作为以属性名(即数值)为索引的一次元素访问操作, 字符串型的属性引用会与普通对象同样的方式处理.

普通对象(也就是除Map, List, 数组之外的一切对象)只能处理字符串型的属性引用,(只能处理String??)

如果对象拥有对应的"get"和"set"方法(或"is"和"set"方法), 则调用这些方法. 如果没有这样的方法, 则直接访问与属性同名的域.

        

    注意, 这里出现了新的术语. 属性"名"可以是任意类型而不仅仅是字符串, 但是要引用字串型以外属性名, 你必须使用我们称为"索引"的机制. 比如, 为了取得数组长度, 可以使用以下表达式:

array.length

但要数组中取得索引为0的元素, 必须使用这样的表达式:

array[0]

注意, Java集合(Collection)会有一些特殊的属性与它关联. 关于这些属性请参见小节: 供集合使用的伪属性

posted on 2016-07-11 18:59  雪的心  阅读(136)  评论(0编辑  收藏  举报

导航