具有多个ArrayLists / linkedHashmaps的JSP表

时间:2011-09-20 02:25:29

标签: foreach html-table hashmap jstl

我不确定我是否接近这个权利,但这就是我想做的事情。将LinkedHashMap和ArrayList(以及最终更多这些)打印到JSP页面中的表中。到目前为止,他们都有相同的长度。我能够将他们的值(例如人的名/姓)从LinkedHashMap中获取到表行中。我也可以获得ArrayList值。现在,我如何获得两者?我是否必须为它们制作单独的对象/类?或者将ArrayLists放在LinkedHashMap中?当数据最初来自数据库时,似乎更有用。是否有某些JSTL语法使用两者来迭代表的创建?类似的东西:

<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>

1 个答案:

答案 0 :(得分:0)

看起来你可能会让事情变得复杂化。如果这些数据都来自数据库,为什么要使用多个数据结构?

我认为这取决于您的数据获取方式。如果您正在使用JPA实体,则只需创建实体对象列表并使用它们即时生成表。例如,如果我有一个Person表和一个相应的人员实体,其中包含姓名,电子邮件,电话等的getter和setter ......我将创建一个人员对象列表,然后在我的JSP页面中使用JSTL进行迭代它们:

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

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

</c:forEach>
相关问题