OGNL表达式
OGNL的概述
OGNL:对象图导航语言,是一门功能强大的表达式语言。
OGNL的功能
调用对象的方法
调用对象的静态方法
表达式串联
访问ActionContext和OgnlContext数据
OGNL独立的表达式:
Java环境下入门
Struts2环境下入门
值栈
值栈的概述
ValueStack:是一个接口,实现类OgnlValueStack。是数据的中转站,穿了整个Action,有一个Action的实例,就会创建一个ValueStack对象。
值栈的内部结构
Root :CompoundRoot,就是一个ArrayList。
Context :OgnlContext,就是一个Map。
ActionContext和值栈关系
ActionContext获得值栈的引用。
获得值栈对象
通过ActionContext获取
通过request获取
操作值栈
利用Action本身在栈中的特点,Action中的属性。
手动操作值栈:调用值栈方法
获取值栈的数据
OGNL获取:<s:property value=”…”/>
EL获取值栈的数据
因为底层增强request.getAttribute(“”);
ONGL特殊字符
#号
获取context数据
构建map集合
%号
强制解析OGNL
$号
在配置文件中使用OGNL