要创建一个对象列表, 只需要将一系列的表达式用大括号括起即可. 和方法参数一样, 这里的这些表达式也不能使用逗号操作符, 除非用括号括起. 下面是一个例子:
name in { null,"Untitled" }( 这里有个in 是什么意思,哦 ,是判断name属性 是否属于集合中两个元素的一个)
这个表达式测试 name属性是否等于 null 或 "Untitled".
以上语法将创建一个List接口的实例??, 具体使用List接口的哪个实现类是不确定的.
有时你可能需要创建Java数组 , 比如int[] 或 Integer[]之类. OGNL 支持创建这样的数组, 创建方式类似于调用构造函数, 但允许初始化数组, 数组可以通过一个既存的列表来初始化, 也可以通过一个给定的数组大小来初始化.
new int[] { 1, 2, 3 }(用new 来初始化一个数组??? 这点与java不同)
这个表达式将创建一个新的int数组, 数组包含3个整数: 1, 2, 和 3.
要创建一个元素全为 null 或全为 0 的数组, 可以使用指定数组大小的构造方式.
new int[5]这个表达式将创建一个包含5个元素的int数组, 所有元素都初始化为0.
映射表也可以通过一种特别的语法来创建. .
#{ "foo" : "foo value", "bar" : "bar value" }这个表达式将创建一个映射表, 映射表内容初始化为 "foo" 和 "bar"以及它们对应的映射值.
高级用户如果想要选用某个特定的Map类, 可以在大括号之前指定Map类名:
#@java.util.LinkedHashMap@{ "foo" : "foo value", "bar" : "bar value" }上面的例子将创建JDK 1.4 LinkedHashMap类的一个实例, 这个类可以按插入顺序保存元素.
转载于:https://www.cnblogs.com/xuedexin/articles/5661449.html
