ValueStack笔记
我们从下面这张图来理一下值栈结构和以及一些关系。
值栈的结构,可以看出,值栈中有两个比较重要的结构:
【ValueStack是一个接口,实现类是OgnlValueStack】
OgnlValueStack
–root【CompoudRoot】本质是一个List
–context【OgnlContext】本质是一个Map
root中有什么:
root本质是一个list,从下图中明显看出,该集合中去保存着Action实例对象。
这是第一个关系:
【root与Action的关系】root中包含Action对象的引用。
context中有什么:
值栈中的context是一个Map对象,里面存了一堆对象的引用。包括Action,ValueStack,ServletContext。
【context与Action的关系】context中包含Action对象的引用
【context与ValueStack的关系】context中包含值栈对象的引用
【context与ActionContext的关系】context和ActionContext中的map集合是一个地址,这个map集合名也叫context。