我不确定我是否接近这个权利,但这就是我想做的事情。将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> </td><td> </td></tr>
</c:forEach>
答案 0 :(得分:0)
看起来你可能会让事情变得复杂化。如果这些数据都来自数据库,为什么要使用多个数据结构?
我认为这取决于您的数据获取方式。如果您正在使用JPA实体,则只需创建实体对象列表并使用它们即时生成表。例如,如果我有一个Person表和一个相应的人员实体,其中包含姓名,电子邮件,电话等的getter和setter ......我将创建一个人员对象列表,然后在我的JSP页面中使用JSTL进行迭代它们:
<c:forEach items="${people}" var="person" >
<tr>
<td>${person.lastName}, ${person.firstName}</td>
</tr>
</c:forEach>