循环遍历List <hashmap <string,object>&gt;在JSP </hashmap <string,object>中

时间:2014-08-15 16:57:12

标签: jsp

我有一个java方法,它返回数据库表中的联系信息,我将List中的每个记录保存为HashMap(List<HashMap<String,Object>>)。每个HashMap包含近10个键值对(firstName,lastName,PhoneNumber,officeLocation等)。我想使用此List在JSP中使用循环填充HTML表。但不知道该怎么做。尝试在谷歌寻找可能的解决方案,但没有找到一个好的解决方案。

我的JSP中的Scrptlet:

<jsp:scriptlet>
     PhoneListController controller = new PhoneListController();
     List<HashMap<String, Object>> totalResults = controller.getDataToDisplay();
     request.setAttribute("contactsList", totalResults);
</jsp:scriptlet>       

请指导我如何在JSP中继续。

感谢。

1 个答案:

答案 0 :(得分:2)

您使用JSTL forEach标记以与任何其他列表相同的方式执行此操作:

<c:forEach var="map" items="${contactsList}">
    <tr>
        <td><c:out value="${map['firstName']}"/>
        <td><c:out value="${map['lastName']}"/>
        ...
    </tr>
</c:forEach>

一些注意事项:

  • scriptlet已经过时,并且被认为是不良做法超过10年。不要使用scriptlet。使用JSTL和JSP EL。您在问题中发布的代码应该位于控制器servlet中。
  • 为什么使用HashMap存储联系信息。您应该定义名为Contact的Java Bean类,并返回List<Contact>。 Java是一种OO语言。定义和使用对象。