日期:2014-05-20  浏览次数:20670 次

关于struts的s标签的一个问题
<s:set   var= "list "   value= "{ 'aaa ', 'bbb ', 'ccc '} "> </s:set>
      <s:iterator   var= "li "   value= "list ">
      <s:property   value= "#request.li "/>

<s:property   value= "list[0] "/>
      </s:iterator> 我先定义了一个集合,应该是放在requet和action的根目录下的是吧,但是我现在通过迭代标签,从值栈中取值是可以取出来的

为何在使用property标签从值栈中取出集合的第一个元素的时候却没显示呢


------解决方案--------------------
s:property 的value属性只能是一个单一的变量,不能是个集合,虽然list[0]返回的是一个单一的变量值,但是list不是,它是个集合,你在这个属性里操作集合是不行的。
HTML code

<s:iterator   var= "li "   value= "list "> 
      <s:property   value= "#request.li "/>  <!-- 这个方法真确 -->

      <s:property   value= "list[0] "/> <!-- 不能这样用 -->
</s:iterator>

------解决方案--------------------
<s:set var="list " value= "{'aaa','bbb','ccc'} "> 
</s:set>
<s:iterator var="li" value="#list ">
<s:property value="li"/>
</s:iterator>
</body>