这是
中定义的ArrayListprivate 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
上创建了一个表格结构答案 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语句将创建一个列表副本。