OGNL表达式语言
OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。
相对EL表达式,它提供了平时我们需要的一些功能,如:
l
支持对象方法调用,如
xxx.sayHello
()
;
l
支持类静态方法调用和值访问,表达式的格式为
@[
类全名(包括包路径)
]@[
方法名
|
值名
]
,例如:
@
java.lang.String@format
('
foo
%s', 'bar')
或
@
cn.itcast.Constant@APP_NAME
;
l
操作集合对象。
Ognl有一个上下文(Context)概念,说白了上下文就是一个MAP结构,它实现了java.utils.Map接口,在Struts2中上下文(Context)的实现为ActionContext,下面是上下文(Context)的结构示意图