자바(Java)/JAVA 2EE

HashMap 객체를 JSP페이지에서 JSTL로 표현하기

본클라쓰 2010. 3. 3. 09:47

 

HashMap 객체를 JSP 페이지에서 JSTL로 표현하는 방법입니다. MashMap 객체를 사용하여 JSP 페이지에 표현할 때 보통 객체와 ArrayList 같은 콜랙션 객체도 가능합니다.

 

JSP페이지로 보낼 데이터를 정리하는 로직 부분에 HashMap 객체를 생성하여 객체를 삽입합니다.

ArrayList<Vo> zero = new ArrayList<Vo>();
ArrayList<Vo> one = new ArrayList<Vo>();

ArrayList<Vo> two = new ArrayList<Vo>();

 

... ArrayList<Vo> 에 Vo 객체를 삽입하는 과정은 생략 ... 

 

HashMap<Integer, ArrayList<Vo>> map = new HashMap<Integer, ArrayList<Vo>>();
map.put(0, zero);
map.put(1, one);
map.put(2, two);

 

request.setAttribute("map", map); 

 

HashMap객체를 전달받아 JSP페이지에서 사용하는 방법입니다. ArrayList배열 객체로 넘어왔기 때문에 두번의 과정을 거쳐야 합니다. 키값을 기준으로 ArrayList 배열 객체를 얻는 과정과 ArrayList 배열 객체에서 하나하나씩 객체을 얻는 방법입니다.

 

 

 

1. 키값을 기준으로 ArrayList 배열 객체를 얻는 과정

<c:forEach var="object" items="${map}">
    <c:if test="${object.key == 1}">
        <c:set var=one" value="${object.value }"/>
        <c:out value="${one }"/>
    </c:if>
</c:forEach>

 

직접적으로 키값을 기준으로 값을 얻는 방법에 대해서는 모르겠습니다. 하지만 HashMap 객체를 반복문을 통해 Key 값을 기준으로 해당 ArrayList를 구하는 방법으로 처리했습니다. 위와 같은 방법으로 object 변수에 ArrayList 배열 객체를 지정합니다. 그 후 ArrayList 배열 객체에서 포함되어 있는 객체를 얻기 위해 반복문을 한번 더 수행해야 합니다.

 

 

 

2. ArrayList 배열 객체에서 객체를 얻는 과정

<c:forEach var="obj" items="${one }">
    <c:out value="${obj.name }"/>

    <c:out value="${obj.value}"/>
</c:forEach>