日期:2014-05-18  浏览次数:20744 次

求救!!!<c:foreach>标签显示列表的问题,在线等~~~
<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>
就是正确的了,请问大虾,我第一种的写法错在哪里了?

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

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

------解决方案--------------------
是啊 , 既然已经用了dic 为什么还要用原来的
------解决方案--------------------
forEach标签本来就是遍历的,items是你要遍历的集合、数组什么的,var是声明一个变量,这个变量保存你本次循环里items中对应的值,你取出var就可以了。不知道你明不明白我的意思。