OGNL(英文全称:Object Graph Navigation Language,中文名:对象导航图语言)是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在等框架中,作用是对数据进行访问,它拥有、访问对象方法、操作集合对象等功能。
用法
OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用。使用方法如下:
#”主要有三种用途:
1.访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();
attr 用于按request > session > application顺序访问其属性(attribute) #attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止
2.用于过滤和投影(projecting)集合
3.构造Map
“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。
“$”有两个主要的用途,用于在国际化资源文件中,引用OGNL表达式。在Struts 2和中配置文件
选择操作符有三种:
? 选择满足条件的所有元素
^ 选择满足条件的第一个元素
$ 选择满足条件的最后一个元素