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
Freigeben: 2024-12-17 06:04:26
Original
874 Leute haben es durchsucht

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:


<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">String key = entry.getKey();
String value = entry.getValue();
// ...
Nach dem Login kopieren

}

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>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Key = ${entry.key}, value = ${entry.value}<br>
Nach dem Login kopieren


JSP Solution

Um Ihr Problem zu lösen Problem:


<p><select name="country"></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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>
Nach dem Login kopieren


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

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!

Quelle:php.cn
Vorheriger Artikel:Wird Javas Array als Wert oder als Referenz übergeben? Nächster Artikel:Wie kann ich das Erscheinungsbild von JFreeChart dynamisch aktualisieren, nachdem es sichtbar ist?
Erklärung dieser Website
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
Neueste Artikel des Autors
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage