# Servlet
HashMap<String,ArrayList<String>> map=new HashMap<String,ArrayList<String>>();
ArrayList<String> a1=new ArrayList<String>();
ArrayList<String> a2=new ArrayList<String>();
ArrayList<String> a3=new ArrayList<String>();
a1.add("살인의 추억"); a1.add("플란다스의 개"); a1.add("괴물");
a2.add("복수는 나의 것"); a2.add("올드보이"); a2.add("친절한 금자씨");
a3.add("8월의 크리스마스"); a3.add("봄날은 간다"); a3.add("외출");
map.put("봉준호",a1); map.put("박찬욱", a2); map.put("허진호", a3);
ArrayList<String> list=new ArrayList<String>();
Set set=map.keySet();
Iterator iter=set.iterator();
while(iter.hasNext()){
String s=(String)iter.next();
list.add(s);
}
request.setAttribute("key",list);
request.setAttribute("map", map);
# JSP
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html><head>
<style> td{border:1 solid blue;} </style>
</head>
<table>
<!-- request 영역의 map으로 forEach문 실행한다. -->
<c:forEach var="list" items="${requestScope.map}" varStatus="num">
<tr>
<td>${num.count}
<!--map.key는 key값을 출력한다... -->
<td>${list.key}
<!--map.value로 이중 forEach문을 실행한다.. -->
<c:forEach var="item" items="${list.value}">
<td>${item}
</c:forEach>
</tr>
</c:forEach>
</table>