OGNL(对象图导航语言)
一、什么是OGNL(什么是对象图导航语言)
OGNL的全称是Object Graph Navigation Language(对象图导航语言),它是一种强大的表达式语言。
二、OGNL上下文
1、OgnlContext(OGNL上下文)其实就是Map集合 (map集合:键值对 键不可以重复,如果重复下一个值会覆盖上一个值;值可以重复)
2、OgnlContext由根对象(1)+非根对象(N)组成 root
注:非根对象要通过"#key"访问,根对象可以省略"#key"
三、什么是值栈(什么是堆栈)
类似于作用域的方式用来存值和取值,在页面和后台之间进行数据传递。在Action中将数据存入值栈,然后在页面中通过EL表达式或OGNL表达式取值。
简单来说它的工作原理就是先进后出
四、什么队列
先进先出
五、值栈的存储位置
值栈存储在Action对象中,每创建一个Action对象(ActionContext),就是创建一个ValueStack值栈对象,同一个Action对象中只会有一个ValueStack
六、为什么要使用ValueStack作为根对象
ValueStack是一个容器,放入值栈中的对象都可视为根对象
EL表达式由小到大:page