OGNL

Posted 曾梦垚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OGNL相关的知识,希望对你有一定的参考价值。

OGNL(英文全称:Object Graph Navigation Language,中文名:对象导航图语言)是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在Struts2等框架中,作用是对数据进行访问,它拥有类型转换、访问对象方法、操作集合对象等功能。

用法

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和i18n中配置文件

选择操作符有三种:

? 选择满足条件的所有元素

^ 选择满足条件的第一个元素

$ 选择满足条件的最后一个元素

以上是关于OGNL的主要内容,如果未能解决你的问题,请参考以下文章