ArrayList와 같은 컬렉션 객체 배열을 JSTL를 사용하여 표현하기
ArrayList 같은 컬렉션 객체를 배열을 JSTL를 사용하여 페이지에 반복적으로 표현하는 방법입니다.
컬렉션 같은 배열 객체는 setAttribute() 메소드를 사용하여 데이터를 페이지에 포함시킵니다. 이 때, setAttribute() 메소드는 두 개의 파라미터를 가지는데 첫번째 파라미터는 데이터를 전달받은 페이지에서 사용할 변수의 이름이 되고 두번째 파라미터가 전달할 데이터입니다.
다음과 같은 Person 객체가 있습니다.
public class Person {
private String name;
private String age;
getting & setting
}
아래는 객체 배열을 생성한 후 포함되는 페이지에 배열을 setAttribute() 메소드를 사용하여 넘겨주는 페이지 입니다.
<%
ArrayList<Person> list = new ArrayList<Person>();
Dao dao = Dao.getInstance(); // 디비 처리 객체 생성
personList = dao.getList(); // 디비에서 리스트를 얻어 list 에 저장
request.setAttribute("list", personList);
%>
<jsp:forward page="list.jsp" /> 또는 <jsp:include page="list.jsp" />
위의 처리과정을 걷쳐 배열 객체를 받은 페이지에서는 JSTL의 c:forEach 태그에서 배열을 통해 반복 처리합니다.
<c:forEach var="person" items="list">
이름 : <c:out value="${person.name}"/><br/>
나이 : <c:out value="${person.age}"/>
</c:forEach>
items 속성에 setAttribue()메소드의 첫번째 파라미터로 지정한 변수명을 지정하고 var 속성에 반복문 안에서 사용할 변수를 지정합니다. 그 후 객체 배열은 하나씩 객체로 반복되며 객체에 접근할 때는 var 속성에 지정한 변수명을 사용하며 객체의 메소드와 속성은 var 속성에서 지정한 변수명을 통해 접근합니다.
※객체 배열인 Vector 와 ArrayList
JAVA 버전이 업 되면서 Vector 클래스보다는 ArrayList 클래스를 사용합니다. ArrayList 클래스는 List 인터페이스에 사이즈 변경이 가능한 배열의 구조의 구현된 클래스입니다. 또한, null을 포함한 모든 요소를 허용합니다.
HashTable 클래스도 현재 HashMap 클래스로 대체하여 사용합니다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
HashMap 객체를 JSP페이지에서 JSTL로 표현하기 (0) | 2010.03.03 |
---|---|
객체를 표현페이지(JSP)에 전달하여 사용하기 (0) | 2010.03.03 |
My-SQL 5.1 데이터베이스를 사용할 때 한글이 깨지는 경우 (0) | 2010.01.26 |
자바스크립트 변수에 JSP 파라미터 전달하기 (0) | 2010.01.25 |
함수(functions) 태그 (0) | 2010.01.23 |