2011-09-20 70 views
0

我不確定是否接近這個權利,但這是我想要做的。將LinkedHashMap和ArrayList(以及更多這些)打印到JSP頁面的表中。到目前爲止,他們都有相同的長度。我可以從LinkedHashMap中獲取它們的值(例如人名/姓氏)到表格行中。我也可以得到ArrayList值。現在,我該如何獲得這兩個值?我必須爲他們製作一個單獨的對象/課程嗎?或者把ArrayLists放入LinkedHashMap中?當數據最初來自數據庫時,似乎更多的工作。是否有某些JSTL語法來使用兩者迭代表的創建?例如:具有多個ArrayLists/linkedHashmaps的JSP表格

<c:forEach items="${pNames}" var="current" > 

但是有多個項目?有沒有更好的設計方法,因爲我不想過度複雜。

順便說一句,這裏基本上是一個表減去頭和無需額外的ArrayList

<c:forEach items="${pNames}" var="current" > 
<tr><td>${current.value}, ${current.key}</td> 
<td>&nbsp;</td><td>&nbsp;</td></tr> 
</c:forEach> 

回答

0

好像你可能是對此事的複雜化。如果這些數據全部來自數據庫,那麼爲什麼使用多個數據結構?

我認爲這也取決於您的數據是如何獲取的。如果您使用JPA實體,則可以簡單地創建實體對象列表並使用它們即時生成表格。例如,如果我有一個Person表和一個帶有getter和setter的相應人員實體,用於名/姓,電子郵件,電話等等......我將創建一個人員對象列表,然後在我的JSP頁面中使用JSTL來遍歷他們:

<c:forEach items="${people}" var="person" > 

    <tr> 
     <td>${person.lastName}, ${person.firstName}</td> 
    </tr> 

</c:forEach>