首頁 >Java >java教程 >如何使用 JSTL 在 JSP 中迭代 HashMap?

如何使用 JSTL 在 JSP 中迭代 HashMap?

Barbara Streisand
Barbara Streisand原創
2024-12-27 19:42:11308瀏覽

How to Iterate Through a HashMap in JSP Using JSTL?

如何在 JSP 中循環遍歷 HashMap

想要在 JSP 中循環遍歷 HashMap?這很簡單,遵循與普通 Java 程式碼相同的原則:

for (Map.Entry<String, String> entry : countries.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    // ...
}

但是,使用 scriptlet(JSP 檔案中的原始 Java 程式碼)被認為是不好的做法。相反,請考慮安裝 JSTL。它的標籤允許您迭代 Maps,每次迭代都會傳回具有 getKey() 和 getValue() 方法的 Map.Entry。

這是一個基本的JSTL 範例:

<%@ taglib prefix="c" uri="jakarta.tags.core" %>

<c:forEach items="${map}" var="entry">
    Key = ${entry.key}, value = ${entry.value}<br>
</c:forEach>

將此應用於您的具體情況,您可以透過以下方式解決:

<%@ taglib prefix="c" uri="jakarta.tags.core" %>

<select name="country">
    <c:forEach items="${countries}" var="country">
        <option value="${country.key}">${country.value}</option>
    </c:forEach>
</select>

要在EL 中使用${countries},您需要一個Servlet 或ServletContextListener 將其放置在所需的範圍內。對於基於請求的場景,請使用 Servlet 的 doGet()。對於應用程式範圍的常數,請使用 ServletContextListener 的 contextInitialized()。

要獲得更多見解,請查看以下資源:

  • [使用JSTL tag](https://stackoverflow .com/a/26817162/14731)
  • [如何迭代中的巢狀映射](https://stackoverflow.com/a/ 6644134/14731)
  • [如何使用 HashMap 迭代 ArrayList JSTL? ](https://stackoverflow.com/a/17615711/14731)
  • [使用特殊的自動啟動servlet 在啟動時初始化並共享應用程式資料](https://stackoverflow.com/a/ 1942639/14731)

以上是如何使用 JSTL 在 JSP 中迭代 HashMap?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn