Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在struts2.0中的jsp上的迭代器中使用迭代器吗?_Jsp_Struts2_Iterator_Jsp Tags - Fatal编程技术网

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

我可以在struts2.0中的jsp上的迭代器中使用迭代器吗?,jsp,struts2,iterator,jsp-tags,Jsp,Struts2,Iterator,Jsp Tags,这是在中定义的ArrayList private ArrayList<LocWiseSaleParam> locWiseSaleList; where LocWiseSaleParam is myaction class private ArrayList locWiseSaleList; 其中LocWiseSaleParam是myaction类 我正在jsp上使用迭代器并访问其值。但是我可以使用与嵌套迭代器具有相同值的迭代器吗 <s:iterator value="lo

这是在中定义的ArrayList

private ArrayList<LocWiseSaleParam> locWiseSaleList;

where LocWiseSaleParam is myaction class
private ArrayList locWiseSaleList;
其中LocWiseSaleParam是myaction类
我正在jsp上使用迭代器并访问其值。但是我可以使用与嵌套迭代器具有相同值的迭代器吗

<s:iterator value="locWiseSaleList" id="list" >
           <s:iterator value="locWiseSaleList" id="list" >
                 <s:property value="productName"/>
           </s:iterator>
</s:iterator>


之所以需要这样做,是因为我正在jsp上创建一个表格结构,这应该是可行的。嵌套迭代器将向值堆栈询问名为iterable“locWiseSaleList”的顶级对象,它应该找到相同的对象。我不确定每次调用是否都会生成一个新的迭代器,但我想是的,然后它就应该可以工作了

你为什么不试试呢?

我想你需要这个

<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>

//这将给出父迭代器的值
//这将给出子迭代器的值
啊,我没注意到这篇文章太老了


<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>
//这将给出父迭代器的值 //这将给出子迭代器的值
我也得到了类似的要求,下面的一个也可以

<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.productName}${j.productName}
可以使用i和j以及普通循环计数器变量,但这里i,j将保存LocWiseSaleParam对象


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

我不使用Struts,但从逻辑上讲,您是否应该为每个列表使用不同的
id
?否则,内部的可能会覆盖外部的,这会导致外部的在第一次迭代后不再工作。好吧,这是我的错误,可能是这样的,意思是id可以不同,但值应该相同。在代码前面加上四个空格字符。否则,解析器将隐藏html/xml标记。