标签:一个 入栈 元素 变量 方法 tag list 作用域 迭代
1.<s:property value=""/>
输出value中的值,在没有value属性的情况下,该标签输出的是对象栈的栈顶的值
2. <s:set value="" var="" scope="" />
var变量
1.value先取出存在request中的值
  2.
   			    a.如果scope没有写,var的值将作为key出现在valuestack的map中
   			    b.如果scope的作用域为request,则var的值将出现在request中
3.<s:push value=""/>
利用这个标签可以把value中的值放入到对象栈栈顶,但是这个标签一结束,栈顶移除
4.<s:bean />
 通过s:bean标签,就把person对象放入到了栈顶
   		当s:bean标签结束了以后,栈顶的值就移除
   		
   		如果没有var属性
   			s:bean标签会把person对象放入栈顶
   			如果s:bean标签结束以后,栈顶的person对象会被移除
   		如果有var属性
   			s:bean标签会把person对象放入到栈顶
   			如果s:bean标签结束以后,栈顶的person对象将会移除
   			在valuestack的map中会存放key值为var属性的值,value为person对象
5.<s:iterator />
a.对象集合为外在变量,不是action中的属性
将对象集合放入对象栈中
  top表示栈顶
  s:iterator如果没有value属性,则默认输出对象栈顶的值
   s:iterator如果有value属性,并且value属性的值为top,则输出的也是对象栈顶的值
   当s:iterator第一次循环的时候,会把list中的第一个元素放入到栈顶,如果循环完第一个元素
  则会把第一个元素移除栈顶,list中的第二个元素将到达栈顶。这样循环,直到iterator迭代完毕。
b.如果对象集合是action中的属性
  因为在后台,list被作为action的属性存放了,因为是TagAction的属性,而TagAction的是存放在对象栈中的
   			  存放在对象栈中。在这里,s:iterator的value属性的值就是为了找到list.
  当s:iterator第一次循环的时候,会把list中的第一个元素放入到栈顶,如果循环完第一个元素
   		     则会把第一个元素移除栈顶,list中的第二个元素将到达栈顶。这样循环,直到iterator迭代完毕。
   		   
  如果后台通过put方法,把list放入到了map中,s:iterator中的value可以这样写:list,
   			  也可以这样写:#list
标签:一个 入栈 元素 变量 方法 tag list 作用域 迭代
原文地址:http://www.cnblogs.com/callyblog/p/7535869.html