Rumah >Java >javaTutorial >Bagaimana untuk Mengulang Melalui HashMap untuk Mengisi Senarai Jatuh Turun JSP?
Bagaimana untuk melelaran secara berkesan melalui HashMap dalam skrip JSP untuk mengisi senarai juntai bawah?
Dalam JSP, melintasi HashMap adalah sama dengan kod Java biasa. Seseorang boleh menggunakan pendekatan berikut:
for (Map.Entry<String, String> entry : countries.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); }
Walau bagaimanapun, menggunakan skrip JSP adalah tidak digalakkan. Sebaliknya, anda disyorkan untuk memanfaatkan
Sebagai contoh:
<%@ taglib prefix="c" uri="jakarta.tags.core" %> <c:forEach items="${map}" var="entry"> Key = ${entry.key}, value = ${entry.value}<br> </c:forEach>
Menyesuaikan kod yang disebutkan di atas untuk mengisi senarai lungsur turun:
<%@ 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>
Untuk menjadikan negara boleh diakses dari dalam ${countries}, ia perlu diletakkan dalam skop yang sesuai. Ini boleh dicapai melalui:
Skop permintaan (kaedah Servlet doGet):
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); }
Skop seluruh aplikasi (ServletContextListener contextInitialized kaedah):
public void contextInitialized(ServletContextEvent event) { Map<String, String> countries = MainUtils.getCountries(); event.getServletContext().setAttribute("countries", countries); }
Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui HashMap untuk Mengisi Senarai Jatuh Turun JSP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!