struts框架问题五之向值栈中保存数据

5. 问题五: 向值栈保存数据 (主要针对root栈)
    > valueStack.push(Object obj);
        * push方法的底层调用root对象的push方法把元素添加到0位置)

    > valueStack.set(String key, Object obj);set往里面存储map集合
        * 源码获取map集合(map有可能是已经存在的,有可能是新创建的),把map集合push到栈顶,再把数据存入到map集合中。

    > 在jsp中 通过 <s:debug /> 查看值栈的内容

不管是push方法还是set方法都是针对root栈。
  1. 使用push方法存放数据的时候,直接将数据压入栈中。当又压入一个元素的时候,栈中元素依次往下移。
  2. 使用set方法存放数据时,由于存放的是map,所以需要进行判断:

(1)检查栈顶是否是map集合

(2)如果不是继续压入压栈,在栈顶创建一个map集合,并且把数据存放进去

(3)如果栈顶是map集合,则将数据直接存放进去

 
原文地址:https://www.cnblogs.com/wyhluckdog/p/10124561.html