2014-01-13 50 views
0

我必須在表中顯示3個數組列表。數組列表從servlet轉發。這個值來自jsp。就好像我們單獨顯示一個數組列表一樣,prg正在啓動,但顯示3個數組列表是一個問題。如何在jsp中顯示3個arraylist?

<c:forEach var="auctionDO" items="${auctionDOListServlet}"> 
<tr div class="odd"> 
    <td style="font-size:14px;"><a href="/myproject/s/PermanentUserAuctionHistoryInner"><c:out value="${auctionDO.auctionName}"/> </a></td> 
    <td><c:out value="${auctionDO.endDate}"/> </td> 
    <td><c:out value="${auctionDO.status}"/></td> 
    <td><c:out value="${depotDo.depotName}"/></td> 
    <td><c:out value="${userAuctionRelDo.bidAmt}"/></td> 
</tr> 
</c:forEach> 

如auctionDOListServlet在的foreach提供其正確顯示..不被顯示的depotDO和userAuctionRelDO ..

如何顯示其他2周的ArrayLists ??

所述的ArrayLists從servlet的如下

request.setAttribute("auctionDOListServlet", auctionDOListServlet); 
request.setAttribute("depotDOListServlet", depotDOListServlet); 
request.setAttribute("userAuctionRelDOListServlet", userAuctionRelDOListServlet); 

我已經合併的三個列表分成1名列表

megaList.addAll(auctionDOListServlet); 
megaList.addAll(depotDOListServlet); 
megaList.addAll(userAuctionRelDOListServlet); 

現在我要如何在每個顯示此傳遞??這會工作嗎? 其中mega是變量的名稱?

<td><c:out value="${mega.endDate}"/> </td> 

這個現在怎麼樣了對車廠名稱和bidamt錯誤,因爲他們是在一個完全不同的DO ..笏辦??

+2

那麼,你已經在變量中給了auctionDO,你爲什麼試圖得到depotDo.depotName和userAuctionRelDo.bidAmt ......這根本就是不合邏輯的。 –

回答

0

您正在遍歷一個特定數組。這對其他陣列沒有影響。其他數組不被迭代。

我會創建一個將這三個實體放在一起的容器對象,然後將它們放在一個列表中。

或者您可以爲for循環並在列表中調用getValueAt(anIntValue)。這樣你可以得到每個列表的正確值。

+0

您好奧利弗..你能給我一個例子爲循環在我的jsp代碼的上下文嗎? – Alvin

2

我該如何顯示其他2 arraylist?

跟你一樣。 depotDOListServletuserAuctionRelDOListServlet是兩個數組列表,然後您可以使用<c:forEach></c:forEach>來迭代這些列表。

<c:forEach var="auctionDO" items="${auctionDOListServlet}"> 
<tr div class="odd"> 
    <td style="font-size:14px;"><a href="/myproject/s/PermanentUserAuctionHistoryInner"><c:out value="${auctionDO.auctionName}"/> </a></td> 
    <td><c:out value="${auctionDO.endDate}"/> </td> 
    <td><c:out value="${auctionDO.status}"/></td> 
    <c:forEach var="depotDo" items="${depotDOListServlet}"> 
    <td><c:out value="${depotDo.depotName}"/></td> 
    </c:forEach> 
    <c:forEach var="userAuctionRelDo" items="${userAuctionRelDOListServlet}"> 
    <td><c:out value="${userAuctionRelDo.bidAmt}"/></td> 
    </c:forEach> 
</tr> 
</c:forEach> 

記住,對於在列表中的每個項目auctionDOListServlet其餘兩個名單將在每次迭代。

+0

Aniket ..我實現你的代碼..但問題是,只有2行也被顯示,但現在四行正在顯示,現在實際上行和列已被搞亂..名稱和持續時間列是空的。狀態欄顯示名稱,顯示的出價金額是狀態,3個額外的欄目已經彈出,一欄爲空,另外兩欄有出價金額,應該分爲兩行。 – Alvin

+0

@ user3060890:是的,這就是我在回答的最後一行告訴過你。我不知道確切的列表內容,但是您可以創建一個結合所有三個列表並僅顯示的列表。 –

+0

Aniket ..我如何結合3個列表,這是基於3個不同的數據對象? – Alvin