一、forEach遍历JSP的Map
- BigCitiesServlet.java代码
package cays.app05a;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@WebServlet(name = "BigCitiesServlet", urlPatterns = "/bigCities")
public class BigCitiesServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map<String,String> capitals = new HashMap<>();
capitals.put("Indonesia", "Jakarta");
capitals.put("Mala", "Kuala");
capitals.put("Thai", "Bank");
request.setAttribute("capitals", capitals);
Map<String, String[]> bigCities = new HashMap<>();
bigCities.put("Australia", new String[]{"Sydney", "Melbourne", "Perth"});
bigCities.put("New Zealand", new String[]{"Auckland", "Christchurch", "Wellington"});
bigCities.put("Indonesia", new String[]{"Jakarta", "Surabaya", "Medan"});
request.setAttribute("bigCities", bigCities);
RequestDispatcher rd = request.getRequestDispatcher("/bigCities.jsp");
rd.forward(request, response);
}
}
- bigCities.jsp代码
<%--
Created by IntelliJ IDEA.
User: cays
Date: 2019/5/22
Time: 21:44
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>BigCitie</title>
<style>
table, tr, td{
border: 1px solid #aaee77;
padding: 3px;
}
</style>
</head>
<body>
<%--
c:forEach 标签访问map
--%>
Capitals
<table>
<tr style="background: #448755;color: white;font-weight: bold">
<td>Country</td>
<td>Capital</td>
</tr>
<c:forEach items="${requestScope.capitals}" var="mapItem">
<tr>
<td>${mapItem.key}</td>
<td>${mapItem.value}</td>
</tr>
</c:forEach>
</table>
Big Cities
<table>
<tr style="background: #448755;color: white;font-weight: bold">
<td>Country</td>
<td>Cities</td>
</tr>
<c:forEach items="${requestScope.bigCities}" var="mapItem">
<tr>
<td>${mapItem.key}</td>
<td>
<c:forEach items="#{mapItem.value}" var="city" varStatus="status">
${city}<c:if test="${!status.last}">,</c:if>
</c:forEach>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
二、执行结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/07523c6a8a66922a15e4fabecbe6c4f3.png)