action中request.setAttribute()了两个LinkedList,分别为list1和list2,要在主页中嵌套迭代显示出来,两个List分别显示都没问题,但是嵌套起来就出现Cannot create iterator for this collection错误,页面迭代代码如下:
<table id="permission_table" border="2">
      <logic:present name="list1">
  <logic:iterate id="list1" name="list1">
     <tr>
<td>
<input type="checkbox" name="selectButton" value="${list1.value1}" onclick="selectAll();" />${list1.value2}
</td>
<td>
<logic:present name="list2">
<logic:iterate id="list2" name="list2">   
<html:checkbox property="permissions" value="${list2.id}">${list2.name}</html:checkbox>
</logic:iterate>
</logic:present>
</td>
    </tr>
</logic:iterate>
</logic:present>
</table>
执行到第二个iterate时就会报错,请高手解决下,谢谢~急!!

解决方案 »

  1.   

    页面本身写的代码没有问题
    在页面上显示的错误,通过以下方式解决:
    一、直接在页面上点右键查看源代码,这是通过解析之后生成的纯HTML代码
    二、jsp编译会先生成java代码,根据生成的错误堆栈信息跟踪找到对应的java代码(如果使用Tomcat,在Tomcat/work目录下可以找到),通过java代码再去看相应的JSP代码,再就是我个人觉得使用JSTL比Struts标签来得直接些,而且更加简洁,呵呵……
      

  2.   

    问题自己解决了,<logic:iterate id="list2" name="list2">  
    这句id和name不能一样。真晕了~~改成<logic:iterate id="othername" name="list2">  就好了~结贴散分,谢谢大家~