簡體   English   中英

如何使用jstl獲取HashMap的大小

[英]how to get the size of a HashMap using jstl

有沒有辦法使用JSTL獲取Map的大小? 我嘗試使用$ {myMap.size},但它不起作用..

得到了解決方案:使用jstl函數。

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

然后使用這樣:

  <c:if test="${fn:length(myMap) > 1 }">
${myMap.size}

因為它被EL解析器轉換為myMap.getSize()而無法正常工作。

嘗試:

${myMap.size()}

它應該工作。

JSTL長度函數適用於Collection但不確定它是否適用於Map 也許值得嘗試一下。

您可以在此處查看查找JSTL HashMap大小的示例

我們在這里使用HashMap size方法

${numMap.size()}

如果您只想打印計數 - 那么您必須使用fn標簽。 但是,如果您要處理地圖中的所有項目或根據可用項目的數量執行某些操作,請僅使用核心JSTL標記來嘗試:

<c:if test="${mapVar != null}"/>
<c:forEach var="mapEntry" items="${mapVar}">
<!-- if there is any entry in the map do something -->
</c:forEach>
</c:if>

以上等同於Java代碼

if (maVar != null && mapVar.size() >= 1) {
    // do something
}

是的,你不能打印出這樣的大小,但你仍然可以處理存在的項目的信息。

我更喜歡這個解決方案,因為SUN url出錯了,所以上面的內容對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM