Nasıl JSP HashMap bir döngü?
Nasıl JSP HashMap bir döngü olabilir miyim?
<%
HashMap<String, String> countries = MainUtils.getCountries(l);
%>
<select name="country">
<%
// Here I need to loop through countries.
%>
</select>
CEVAP
Normal Java kodu, yaptığınız gibi sadece aynı şekilde.
for (Map.Entry<String, String> entry : countries.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
// ...
}
Ancak,kod parçacıklarıJSP dosyaları (raw Java kod <% %> o şeyler) poor practice. bir olarak kabul edilir JSTL (sadece /WEB-INF/lib JAR dosyasını indir ve JSP üst taglibs gerekli ilan) yüklemek için tavsiye ederim. Diğerleri arasında yinelemek olabilir <c:forEach> etiketi var Mapler. Her yineleme seni ihbar etti getKey() getValue() yöntemleri Map.Entry bir geri verecektir.
Burada temel bir örnek:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach items="${map}" var="entry">
Key = ${entry.key}, value = ${entry.value}<br>
</c:forEach>
Böylece belirli bir sorunu aşağıdaki gibi çözülebilir
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<select name="country">
<c:forEach items="${countries}" var="country">
<option value="${country.key}">${country.value}</option>
</c:forEach>
</select>
Servlet ServletContextListener istenilen kapsamında ${countries} yerleştirmeniz gerekir. Bu liste talep tabanlı olmalı, Servlet'in 22**:. kullanın sonra
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
Map<String, String> countries = MainUtils.getCountries();
request.setAttribute("countries", countries);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
Ya eğer bu liste uygulaması-geniş bir sabit olması gerekiyorsa, o zaman ServletContextListener'sadece bir kez ve hafızada yüklü olacak, böylece 25* s *: . kullanın
public void contextInitialized(ServletContextEvent event) {
Map<String, String> countries = MainUtils.getCountries();
event.getServletContext().setAttribute("countries", countries);
}
Her iki durumda da countries ${countries} EL mevcut olacak.
Bu yardımcı olur umarım.

Nasıl JavaScript ile Döngü üyeleri ola...
Nasıl her döngü için Java çalışır?...
Nasıl bir döngü başına 4 Flop teorik m...
Java Hashmap: Nasıl anahtar değerini a...
Nasıl bağlantılı liste bir döngü algıl...