一、OGNL的概述:
1,什么是OGNL:

OGNL:对象图导航语言,比EL表达式强大很多倍的语言。
2.为什么学习OGNL:

3.OGNL的使用要素:
二、OGNL在java环境下的入门(了解)
1.访问对象的方法:

2、访问对象的静态方法:

3.获得root中的数据:

4.访问context中的数据:

三、OGNL在Structs2环境下的入门:
1、访问对象的方法:

2、访问对象静态的方法:

默认情况下不会开启静态方法,必须在配置文件中手动开启

四、值栈的概述:
1、什么是值栈:

ValueStack其实类似于一个数据中转站(Structs2的框架当中的数据就都保存到了ValueStack中)
2、值栈的内部结构:

值栈内部结构:

3、值栈与ActionContext的关系:

4、获得值栈:
1)通过ActionContext获取值栈:
2)通过request对象获取值栈:

注:两种方式获得的ValueStack方式是同一个。因为在一个Action实例当中获得的一个ValueStack的实例,所以上诉代码返回值为true
5、操作值栈:

方式一:


方式二:


6、获取值栈数据:
获取值栈中的数据就是在页面中使用OGNL表达式即可
1)获取root数据:


2)获取context数据:


7、EL如何访问值栈的数据:

五、OGNL中特殊字符:
1.#号
1)获取context数据:

2)使用#构建Map集合:

2、%号:
1)强制解析OGNL:

2)强制不解析OGNL:
property里面的OGNL是一定会解析的,加上%就强制转换成字符串,不让解析。

3、$号:
在配置文件中使用OGNL
