Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengulangi ArrayList dalam HashMap dalam JSTL?

Bagaimana untuk Mengulangi ArrayList dalam HashMap dalam JSTL?

DDD
DDDasal
2024-10-24 16:13:02206semak imbas

How to Iterate over an ArrayList within a HashMap in JSTL?

Menyalurkan ArrayList di dalam HashMap dalam JSTL

Dalam Java Server Pages (JSP), Java Standard Tag Library (JSTL) menyediakan kemudahan tag untuk lelaran ke atas struktur data. Ini termasuk lelaran ke atas peta, di mana setiap pasangan nilai kunci disimpan sebagai objek Map.Entry.

Untuk mengulangi kedua-dua kunci dan nilai HashMap, termasuk sebarang ArrayLists yang disimpan sebagai nilai, anda boleh menggunakan nested teg seperti berikut:

<code class="jsp"><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:forEach items="${myMap}" var="entry">
    <span>Key: ${entry.key}</span>
    
    <c:forEach items="${entry.value}" var="item" varStatus="loop">
        <span>Value: ${item}</span>
        <c:if test="${!loop.last}">, </c:if>
    </c:forEach>
    
    <br>
</c:forEach></code>

Kod ini berulang ke atas myMap HashMap dan, untuk setiap pasangan nilai kunci, mengeluarkan kunci diikuti dengan senarai nilai dalam ArrayList yang sepadan. Atribut varStatus digunakan untuk menentukan sama ada item semasa adalah yang terakhir dalam senarai, supaya koma ditambah antara item hanya jika ia bukan yang terakhir.

Nota Tambahan:

  • Untuk senario yang lebih kompleks, anda mungkin perlu menghantar objek entry.key dan entry.value kepada jenis yang sesuai.
  • tag berulang ke atas ArrayList secara keseluruhan, jadi jika anda perlu mengakses elemen individu dalam ArrayList, anda perlu menggunakan logik tambahan.

Atas ialah kandungan terperinci Bagaimana untuk Mengulangi ArrayList dalam HashMap dalam JSTL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn