ValueStack笔记

我们从下面这张图来理一下值栈结构和以及一些关系。

ValueStack笔记

值栈的结构,可以看出,值栈中有两个比较重要的结构:
【ValueStack是一个接口,实现类是OgnlValueStack】
   OgnlValueStack
    –root【CompoudRoot】本质是一个List
    –context【OgnlContext】本质是一个Map
    
ValueStack笔记

root中有什么:
  root本质是一个list,从下图中明显看出,该集合中去保存着Action实例对象。
  这是第一个关系:
  【root与Action的关系】root中包含Action对象的引用。
  
ValueStack笔记

context中有什么:
  值栈中的context是一个Map对象,里面存了一堆对象的引用。包括Action,ValueStack,ServletContext。
  【context与Action的关系】context中包含Action对象的引用
  【context与ValueStack的关系】context中包含值栈对象的引用
  【context与ActionContext的关系】context和ActionContext中的map集合是一个地址,这个map集合名也叫context。

ValueStack笔记