我可以在struts2.0的jsp上的迭代器中使用迭代器吗?
问题描述:
这是我可以在struts2.0的jsp上的迭代器中使用迭代器吗?
private ArrayList<LocWiseSaleParam> locWiseSaleList;
where LocWiseSaleParam is myaction class
定义该ArrayList我使用的JSP一个迭代器和访问其值。但我可以用迭代器具有相同值的嵌套迭代器
<s:iterator value="locWiseSaleList" id="list" >
<s:iterator value="locWiseSaleList" id="list" >
<s:property value="productName"/>
</s:iterator>
</s:iterator>
做becausse我在JSP
答
我想你需要这个
<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时,我没有注意到这个帖子太旧
答
这应该创建一个表结构这是必要的。嵌套的迭代器会向顶层指定的迭代器“locWiseSaleList”询问值栈,它应该找到相同的对象。我不确定是否每次调用都会生成一个新的迭代器,但我想是,然后它应该可以工作。
你为什么不试试呢?
答
<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>
+0
用四个空格字符预先安装您的代码。否则html/xml标签将被解析器隐藏。 – Artemix 2012-11-26 12:39:03
答
我也得到了类似的要求和下面的一个工作
<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以及普通的循环计数器变量,但是在这里,我将保存你的LocWiseSaleParam对象。
和我们的s:set语句将创建列表的副本。
我不做Struts,但是你应该在逻辑上*不是为每个都使用不同的'id'?否则,内层可能会覆盖外层,导致外层在第一次迭代后不再工作。 – BalusC 2010-08-06 13:06:55
好吧,这是我的错误,它可以是这样的,意思是ID可以是不同的
但值会相同。 – Jitendra 2010-08-07 04:51:28