在 JSP 中遍历 HashMap 与在纯 Java 代码中遍历 HashMap 类似。利用以下循环结构:
<pre class="brush:php;toolbar:false">String key = entry.getKey(); String value = entry.getValue(); // ...
}
虽然 scriptlet 以前很常见,但它们现在现在被认为是不好的做法。相反,我们建议使用 JSTL,它提供了
<p><foreach items="“${地图}”" var="entry"><pre class="brush:php;toolbar:false">Key = ${entry.key}, value = ${entry.value}<br>
解决您的具体问题问题:
<p><select name="country"></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><c:forEach items="${countries}" var="country"> <option value="${country.key}">${country.value}</option> </c:forEach>
要使 ${countries} 在请求的范围内可访问,请使用 Servlet 或ServletContextListener.
以下是使用 Servlet 或ServletContextListener:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Map<String, String> countries = MainUtils.getCountries(); request.setAttribute("countries", countries); request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);</p>
}
< ;p>或者:
<pre class="brush:php;toolbar:false">Map<String, String> countries = MainUtils.getCountries(); event.getServletContext().setAttribute("countries", countries);
}
以上是如何使用 JSTL 迭代 JSP 中的 HashMap 并避免使用 Scriptlet?的详细内容。更多信息请关注PHP中文网其他相关文章!