Heim >Java >javaLernprogramm >Wie kann ich HashMaps in JSP mit JSTL durchlaufen und Scriptlets vermeiden?

Wie kann ich HashMaps in JSP mit JSTL durchlaufen und Scriptlets vermeiden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 06:04:26882Durchsuche

How to Iterate Through HashMaps in JSP Using JSTL and Avoid Scriptlets?

Durchlaufen von HashMaps in JSP

Das Durchlaufen einer HashMap in JSP ähnelt der Vorgehensweise in einfachem Java-Code. Nutzen Sie die folgende Schleifenstruktur:


<pre class="brush:php;toolbar:false">String key = entry.getKey();
String value = entry.getValue();
// ...

}

Scriptlet-Nachteile

Während Scriptlets früher weit verbreitet waren, gelten sie heute als schlecht üben. Stattdessen empfehlen wir die Verwendung von JSTL, das die Tag zum Durchlaufen von Maps, das in jeder Iteration ein Map.Entry-Objekt mit den Methoden getKey() und getValue() zurückgibt.

<p><c:forEach items= „${map}“ var="entry"></p>
<pre class="brush:php;toolbar:false">Key = ${entry.key}, value = ${entry.value}<br>


JSP Solution

Um Ihr Problem zu lösen Problem:


<p><select name="country"></p>
<pre class="brush:php;toolbar:false"><c:forEach items=&quot;${countries}&quot; var=&quot;country&quot;>
    <option value=&quot;${country.key}&quot;>${country.value}</option>
</c:forEach>


Um ${countries} im angeforderten Bereich zugänglich zu machen, verwenden Sie ein Servlet oder ServletContextListener.

Beispielanwendungsfälle

Hier sind Beispiele für die Verwendung von Servlet oder ServletContextListener:

<pre class="brush:php;toolbar:false">Map<String, String> countries = MainUtils.getCountries();
request.setAttribute(&quot;countries&quot;, countries);
request.getRequestDispatcher(&quot;/WEB-INF/page.jsp&quot;).forward(request, response);</p>
<p>}<br>

< ;p>Oder:

<pre class="brush:php;toolbar:false">Map<String, String> countries = MainUtils.getCountries();
event.getServletContext().setAttribute(&quot;countries&quot;, countries);</p>
<p>}<br>

Weitere Lesen


  • Iterieren über Elemente von Listen und Karten mit JSTL Tag

  • Iterieren über eine verschachtelte Karte in

  • Iterieren einer ArrayList innerhalb einer HashMap mit JSTL

  • Verwenden eines speziellen Autostart-Servlets zur Initialisierung beim Start und beim Teilen Anwendungsdaten

Das obige ist der detaillierte Inhalt vonWie kann ich HashMaps in JSP mit JSTL durchlaufen und Scriptlets vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn