首页 > 解决方案 > JSP页面中如何获取和显示MultiMap对象属性的键和对应值

问题描述

我不知道如何迭代

我的数据类型是 Multimap<String, AlbumAndAlbumType> 其中 String 保存专辑的类型/流派,值包含 AlbumAndAlbumType 类型的对象列表

我从 db 检索数据,但我不知道如何迭代并在 jsp 页面中显示它们。

多图返回如下

{Kollywood 私人专辑=[

AlbumAndAlbumType [album_id=48,album_name=Orasaadha,album_type_id=28,album_image=null,album_description=Orasaadha 私人专辑,语言=泰米尔语,type_name=Kollywood 私人专辑,type_description=Kollywood 私人专辑],......

]}

字符串(Kollywood Private Albums)是键,值是类类型(AlbumAndAlbumType)的对象列表

在这里,我想将标题(h2)显示为键并迭代该键的值,并且需要在标题(h4)中显示所有专辑名称(album_name)

标签: jspservletscollectionsjstlguava

解决方案


您可以使用<c:forEach..></c:forEach>迭代您的 mutlimap 。假设您的 multimap 值在某个会话属性中,然后执行以下操作:

 <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <!--here "ses" is name of session attribute -->  
    <c:forEach var="entry" items="${ses.asMap()}">
        <h2> <c:out value="${entry.key}"/></h2>
        <br/>Values:
        <c:forEach var="currentValue" items="${entry.value}">
            <h4> <c:out value="${currentValue.album_id}"/>  </h4>
                  <h4><c:out value="${currentValue.album_name}"/></h4>
            //..so on 
           
        </c:forEach>
    </c:forEach>

推荐阅读