JSP での HashMap の走査は、プレーン Java コードでの走査と似ています。次のループ構造を利用します:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">String key = entry.getKey(); String value = entry.getValue(); // ...
}
while スクリプトレット以前は一般的でしたが、現在では不適切な行為とみなされています。代わりに、
<p><c:forEach items= 「${マップ}」 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>
特定の問題を解決するには問題:
<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} にアクセスできるようにするには、サーブレットまたは ServletContextListener を使用します。
サーブレットまたは ServletContextListener の使用例を次に示します。 ServletContextListener:
<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>}<br>
< ;p>または:
<pre class="brush:php;toolbar:false">Map<String, String> countries = MainUtils.getCountries(); event.getServletContext().setAttribute("countries", countries);</p> <p>}<br>
以上がJSTL を使用して JSP で HashMap を反復処理し、スクリプトレットを回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。