我可以在struts2.0中的jsp上使用迭代器中的迭代器吗?

时间:2010-08-06 12:56:09

标签: jsp struts2 iterator jsp-tags

这是

中定义的ArrayList
private ArrayList<LocWiseSaleParam> locWiseSaleList;

where LocWiseSaleParam is myaction class

我在jsp上使用迭代器并访问它的值。但我可以使用与嵌套迭代器

具有相同值的迭代器
<s:iterator value="locWiseSaleList" id="list" >
           <s:iterator value="locWiseSaleList" id="list" >
                 <s:property value="productName"/>
           </s:iterator>
</s:iterator>

我需要这样做,因为我在jsp

上创建了一个表格结构

4 个答案:

答案 0 :(得分:2)

<s:iterator value="locWiseSaleList" id="parent" stratus="id">
  <s:iterator value="locWiseSaleList{parent.id}">
      <s:property value="#parent.productName"/> //this will give value of parent iterator
      <s:property value="productName"/>         //this will give value of the child iterator
  </s:iterator>
</s:iterator>

答案 1 :(得分:0)

这应该有效。嵌套的迭代器将向值堆栈询问顶部命名的可迭代“locWiseSaleList”,它应该找到相同的对象。我不确定每次调用是否都会生成一个新的迭代器,但我猜它是,然后它应该可以工作。

你为什么不试试呢?

答案 2 :(得分:0)

我想你需要这个

<s:iterator value="locWiseSaleList" id="parent">
  <s:iterator value="locWiseSaleList">
      <s:property value="#parent.productName"/> //this will give value of parent iterator
      <s:property value="productName"/>         //this will give value of the child iterator
  </s:iterator>
</s:iterator>

AAh,我没注意到这篇文章太旧了

答案 3 :(得分:0)

我也有类似的要求,下面有一个工作

<s:set var="temp" value="locWiseSaleList"/>
<s:iterator value="locWiseSaleList" var="i" >
       <s:iterator value="temp" var="j" >
             ${i.productName} ${j.productName} 
       </s:iterator>
</s:iterator>

你可以使用i和j以及普通的循环计数器变量但是在这里i,j将保存你的LocWiseSaleParam对象。

和我们的s:set语句将创建一个列表副本。