Map在jsp中取值

一、在jsp内取Map中Book 的每个属性

<table>
<c:forEach var="item" items="${books}">    //现有一个Map在request域中,域名为books
     <tr>
        <td>${books[item.key].id}</td>
        <td>${books[item.key].name}</td>
        <td>${books[item.key].price}</td>
     </tr>
</c:forEach>
</table>

二、在jsp内取List> 中Book的属性

<table>
       <c:forEach var="item" items="${books}">  //现有一个List>在request域中,域名为books
            <c:forEach var="book" items="${item}">
                    <tr>
                       <td>${item[book.key].id}</td>
                       <td>${item[book.key].name}</td>
                       <td>${item[book.key].price}</td>
                    </tr>
            </c:forEach>
       </c:forEach>
</table>

三、map中key为对象取值方法

//第一个Map是一个账号对应多本书,第二个Map是一本书对应多少数量,本页面是遍历第二个Map
private Map<String,Map<Book,Integer>> bookMapList=new HashMap<>();

//下面是吧map所有值拿出来
<c:forEach var="b" items="${userbook}" varStatus="num">
    <tr>
    <td>${b.key.id}</td>         //拿出key值中的值
    <td>${b.key.name}</td>
    <td>${b.key.price}</td>
    <td>
    <fmt:formatDate value="${b.key.time}" pattern="yyyy年MM月dd日"></fmt:formatDate>
    </td>
    <td><img src="/book/show?file=${b.key.file}" class="img-circle" style="width: 121px; height: 121px"></td>
    <td>${b.value}</td>  //把数量拿出来
    </tr>
</c:forEach>

上面为借鉴,主要看你的map的结构形式,关键词—>key

你可能感兴趣的:(jsp,java)