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

时间:2022-08-13 14:46:46
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栈。
struts框架问题五之向值栈中保存数据
  1. 使用push方法存放数据的时候,直接将数据压入栈中。当又压入一个元素的时候,栈中元素依次往下移。
  2. 使用set方法存放数据时,由于存放的是map,所以需要进行判断:

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

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

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