ホームページ >Java >&#&チュートリアル >JSTL を使用して JSP で HashMap を反復処理する方法

JSTL を使用して JSP で HashMap を反復処理する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-27 19:42:11307ブラウズ

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();
    // ...
}

ただし、スクリプトレット (JSP ファイル内の生の Java コード) を使用するのは、悪い習慣とみなされます。代わりに、JSTL のインストールを検討してください。そのタグを使用すると、マップを反復処理でき、各反復で 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 を使用して、目的のスコープに配置します。リクエストベースのシナリオの場合は、サーブレットの doGet() を使用します。アプリケーション全体の定数の場合は、ServletContextListener の contextInitialized() を使用します。

さらに詳しい情報については、次のリソースを確認してください。

  • [JSTL を使用して List と Map の要素を反復処理する タグ](https://stackoverflow.com/a/26817162/14731)
  • [ でネストされたマップを反復処理する方法](https://stackoverflow.com/a/ 6644134/14731)
  • [内部で ArrayList を反復する方法JSTL を使用した HashMap?](https://stackoverflow.com/a/17615711/14731)
  • [起動時の初期化とアプリケーション データの共有に特別な自動開始サーブレットを使用](https://stackoverflow.com/ a/1942639/14731)

以上がJSTL を使用して JSP で HashMap を反復処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。