OGNL 的大部分操作符都借用自Java语言, 而且其功能也与Java操作符类似. 在 附录A. OGNL语言参考 中有详细的介绍. 这里我们来介绍一下在Java中不存在的, 或者与Java操作符不同的OGNL操作符.
-
逗号 (,) 或者称为序列操作符. 这个操作符借用自 C 语言. 它用于分隔两个独立的表达式, 其中第二个表达式的值将作为整个逗号表达式的值. 例如:
ensureLoaded(), name
在计算这个表达式时, 首先调用 ensureLoaded 方法(可能是为了将对象的所有数据都载入内存), 然后取得(如果是从这个表达式取值)或设置(如果是向这个表达式赋值) name 属性值.
-
使用大括号({})来构造列表. 你可以在表达式中创建列表, 方法是将多个元素用大括号括起, 如下面的例子所示:
{ null, true, false }
-
in 操作符 (以及与它相反的 not in操作符). 这个操作符用来判断某个值是否包含在一个集合之中. 比如:
name in {null,"Untitled"} || name
-
全部的操作符信息请参见附录A. OGNL语言参考.