OGNL的基本语法

来源:互联网 发布:js如何获取鼠标的位置 编辑:程序博客网 时间:2024/05/29 10:31
l1. 基本对象树的访问
¡使用点(.)将对象的引用串联起来
¡如:user.nameuser.course.score
l2. 对容器变量的访问
¡通过#符号加上表达式进行
¡如:#user.name
l3. 使用操作符号
¡OGNL表达式中能使用的操作符基本跟Java里的操作符一样,除了能使用+, -, *, /, ++, --, ==, !=, = 等操作符之外,还能使用 mod, in, not in

l4. 容器、数组、对象
¡OGNL支持对数组和ArrayList等容器的顺序访问:
l例如:group.users[0]
¡同时,OGNL支持对Map按键值查找:
l如:#session['mySessionPropKey']
¡不仅如此,OGNL还支持容器的构造的表达式:
l例如:{"green", "red", "blue"}构造一个List
l#{"key1" : "value1", "key2" :"value2"}构造一个Map
¡你也可以通过任意类对象的构造函数进行对象新建:
l例如:newjava.net.URL("http://localhost/")
l5. 对静态方法或变量的访问
¡引用类的静态方法和字段,他们的表达方式是一样的
@class@member或者@class@method(args)
¡如:@java.util.Calendar@DAY_OF_YEAR
l6. 方法调用
¡直接通过类似Java的方法调用方式进行,你甚至可以传递参数
l如:user.getName()group.users.size()
l7. 投影和选择
¡投影就是选出集合中每个元素的相同属性组成新的集合,类似于关系数据库的字段操作。
¡投影操作语法为 collection.{XXX},其中XXX是这个集合中每个元素的公共属性
l例如:group.userList.{username}将获得某个group中的所有username的列表。
¡选择就是过滤满足selection条件的集合元素,类似于关系数据库的纪录操作
¡选择操作的语法为:collection.{XYYY},其中X是一个选择操作符,后面则是选择用的逻辑表达式。而选择操作符有三种:
l? 选择满足条件的所有元素
l^ 选择满足条件的第一个元素
l$ 选择满足条件的最后一个元素
l例如:group.userList.{? #this.name != null}将获得某个groupusername不为空的user的列表。

原创粉丝点击