1 OGNL表达式
OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航.
OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能.
1.1 使用OGNL
导包
struts2 的包中已经包含了.所以不需要导入额外的jar包
代码准备
1.2 语法
基本取值
赋值
调用方法
调用静态方法
创建对象(List,Map)
2 OGNL与Struts2的结合
2.1 结合原理
ValueStack中的两部分
2.2 栈原理
栈是由ArrayList模拟的
栈中的两个方法的实现
访问栈中属性的特点.由上到下
2.3 查看值栈中两部分内容
(使用DEBUG标签)
Root
默认情况下,栈中放置当前访问的Action对象
Context
Context部分就是ActionContext数据中心
2.4 struts2与ognl结合体现
参数接收
如何获得值栈对象,值栈对象与ActionContext对象是互相引用的
配置文件中
语法:${ognl表达式}
struts2标签
2.5 request的getAttribute
查找顺序