OGNL的集合操作
如果需要一个集合元素的时候(例如List对象或者Map对象),可以使用OGNL中同集合相关的表达式。
可以使用如下代码直接生成一个List对象:
该OGNL表达式中,直接生成了一个List对象,该List对象中包含3个元素:e1、e2和e3。如果需要更多的元素,可以按照这样的格式定义多个元素,多个元素之间使用逗号隔开。
如下代码可以直接生成一个Map对象:
#{key1:value1,key2:value2,…} |
Map类型的集合对象,使用key-value格式定义,每个key-value元素使用冒号标识,多个元素之间使用逗号隔开。
对于集合类型,OGNL表达式可以使用in和not in两个元素符号。其中,in表达式用来判断某个元素是否在指定的集合对象中;not in判断某个元素是否不在指定的集合对象中,如代码8.3所示。
代码8.3使用OGNL集合操作符
除了in和not in之外,OGNL还允许使用某个规则获得集合对象的子集,常用的有以下3个相关操作符。
>>>
?:获得所有符合逻辑的元素。
>>>
^:获得符合逻辑的第一个元素。
>>>
$:获得符合逻辑的最后一个元素。
例如代码:
person.relatives.{? #this.gender == 'male'} |
该代码可以获得person的所有性别为male的relatievs集合。
posted on 2009-08-15 17:25
jadmin 阅读(155)
评论(0) 编辑 收藏