使用foreach在单个行/表中显示多个列表

时间:2014-01-20 07:39:56

标签: java list foreach jstl

我是jstl的新手...我试图在表格的一行中显示4个列表.. 我跟着这个“ how to code foreach involving 3 lists in jstl?

 <c:forEach items="${actionList}" var="action" varStatus="counter"> 
 <tr>
 <td><c:out value= "${action.cut}"/></td>
 <td><c:out value= "${dustList[counter.count].dust}"/></td>
 <td><c:out value= "${myList[counter.count].name}"/></td>
 <td><c:out value= "${megaList[counter.count].megaprice}"/></td>
 </tr>

结果是我得到了第一列alrt ..但其余的列没有显示任何内容.. servlet获取值alrt ..

 request.setAttribute("actionList", actionList);
 request.setAttribute("dustList", dustList);
 request.setAttribute("myList", myList);
 request.setAttribute("megaList", megaList);
传递也正确发生..呼叫也是正确的..所以我哪里错了?为什么只显示一个列表?控制台没有显示错误..

1 个答案:

答案 0 :(得分:1)

您要使用的是varStatus的index而不是count

<td><c:out value= "${dustList[counter.index].dust}"/></td>
<td><c:out value= "${myList[counter.index].name}"/></td>

注意

$ {status.index} = 0基于索引

$ {status.count} = 1基于索引

我还假设有getMegaprice()megaprice这样的方法是公开的。