<c:forEach var="dic" items="${diclist.listdata}" varStatus="status">
 <tr >
 <td>${diclist.listdata[#status.index][0]}
  </td>
 <td>${diclist.listdata[#status.index][1]}</td>
 <td>${diclist.listdata[#status.index][2]}</td>
 </tr>
/c:forEach>
-----------------------
以上是我的列表显示的迭代代码,但显示出三个空列,若三列的写法换成
  <td>${dic.id}</td>
  <td>${dic.name}</td>
  <td>${dic.value}</td>
就是正确的了,请问大虾,我第一种的写法错在哪里了?

解决方案 »

  1.   

    <c:forEach var="dic" items="${diclist.listdata}" varStatus="status">中var="dic"定义了一个名为dic的对象。可以使用${dic}来取得该对象。${dic.id}则是调用该对象id属性。
    而按照你的写法${diclist.listdata[#status.index][0]}是调用diclist对象的listdata属性,但是你在调用前根本没有定义diclist这个对象,不是吗。
      

  2.   

    你不用dic就不要定义试试<c:forEach  items="${diclist.listdata}" varStatus="status">
      

  3.   

    是啊 , 既然已经用了dic 为什么还要用原来的
      

  4.   

    forEach标签本来就是遍历的,items是你要遍历的集合、数组什么的,var是声明一个变量,这个变量保存你本次循环里items中对应的值,你取出var就可以了。不知道你明不明白我的意思。