Strut2中的容器中比较常用的应该是ValueStack了,有了它,连request等都一边站了。那么值栈与request是什么关系呢?
本来事情的起因是因为一同事使用EL表达式来获取Action中的属性值没有取到,而他认为Action中的属性值就存储在request中。但是我记得两者不是一回事,我是记得Request和Action中的属性值都存储在值栈中。
今天验证了一下,发现值栈是存储在request中,使用的键值是"struts.valuestack",而Action中的数值就是存储在request中。
这样来说的话,值栈的生命周期就是request级别的。
看来我是记错了,request和值栈等都是存储在ActionContext中的。
可惜的是没有找到xwork的源代码,没有找到。