<iterator>는 <property> 와 항상 함께 사용되니까 묶음으로 기억을 해두시고요.
리스트의 항목들을 출력하는데 사용됩니다. Vector 나 List, ArrayList 와 같은 기능이기 때문에 함께 기억해두시면
그 기능을 추천할 수가 있습니다.
블로거에게 큰 힘이 되는 추천(로그인 불필요) 부탁드릴게요^^ 양질의 정보로 보답드리겠습니다 꼭!!
예제 중 일부를 우선 살펴보시고, 감을 익혀두세요~
<s:iterator />는 <s:property /> 와 함께 리스트의 항목들을 출력하는데 사용됩니다.
<s:iterator value="list">
<tr align="center">
<td><s:property value="no" /></td>
<td><s:property value="subject" /></td>
<td><s:property value="name" /></td>
<td><s:property value="content" /></td>
</tr>
</s:iterator>
우선, 데이터 내용을 가져오고 보내주는 DAO 클래스 Board,java 파일 생성을 해주세요.
Board.java ==> action 패키지에 만들어 놓았습니다.
package model;
public class Board {
private int no;
private String subject;
private String name;
private String content;
public Board(){ //디폴트 생성자
}//end
public Board(int no, String subject, String name, String content){
//super();
this.no=no;
this.subject=subject;
this.name=name;
this.content=content;
}//end
public int getNo() { return no; }
public void setNo(int no) { this.no = no; }
public String getSubject() { return subject; }
public void setSubject(String subject) { this.subject = subject; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getContent() { return content; }
public void setContent(String content) { this.content = content; }
}//class END
IteratorAction.java ==> 임의로 데이터를 입력해주었고,
package action;
import java.util.ArrayList;
import java.util.List;
import model.Board;
import com.opensymphony.xwork2.Action;
public class IteratorAction implements Action{
private List<Board> list;//데이터를 가져오기 위한 변수 list
//가져올 데이터가 Board형이기 때문에 제너릭으로 형변환
//private 으로 만들기 위해 execute() 실행되기 전에 미리 만듭니다.
@Override
public String execute() throws Exception {
System.out.println("literatorAction.execute() 실행완료");
list = new ArrayList<Board>(); //List를 상속받는 ArrayList() 메소드 호출 : 제너릭<Board>변환
list.add(new Board(1, "first Visiting", "Brown", "it's so nice board"));
list.add(new Board(2, "second Visiting", "Kim", "sorry I can't come anymore"));
list.add(new Board(3, "birthday party", "Cherry", "birthday party will coming"));
return SUCCESS;
}//end
public List<Board> getList() { return list; }
public void setList(List<Board> list) { this.list = list; }
}//class END
struts.xml ==> 맵핑해주시고요.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Web0724" extends="struts-default">
<action name="UserRegForm">
<result>/jsp/userRegForm.jsp</result>
</action>
<action name="UserRegLoginAction" class="action.UserRegAction">
<interceptor-ref name="params" />
<result name="success" type="chain" >
<param name="actionName">LoginAction</param>
<param name="namespace">/Web0724</param>
</result>
</action>
<action name="LoginAction" class="action.LoginAction">
<interceptor-ref name="chain" />
<interceptor-ref name="params" />
<result name="success">/jsp/userRegSuccess.jsp</result>
</action>
<action name="Login*" class="action.Login">
<result>/jsp/Login{1}.jsp</result>
<result name="input">/jsp/Login{1}.jsp</result>
</action>
</package>
<package name="0724" extends="struts-default" namespace="/0724">
<action name="IteratorAction" class="action.IteratorAction">
<result>/jsp/iteratorTest.jsp</result>
</action>
</package>
</struts>
패키지가 두 번 설정되어 있는 걸 보실텐데요.
여기서 필요한 부분은 노란 box 안 내용입니다. 그리고 맨 위에 지정해 놓은 패키지 설정도 참고해주세요^^
iteratorTest.jsp ==> 결과페이지
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<table border=1 cellspacing="0" cellpadding="1">
<tr align="center" bgcolor="#CCCCCC">
<th width="50">NO</th>
<th width="100">SUBJECT</th>
<th width="100">NAME</th>
<th width="500">CONTENTv</th>
</tr>
<s:iterator value="list">
<tr align="center">
<td><s:property value="no" /></td>
<td><s:property value="subject" /></td>
<td><s:property value="name" /></td>
<td><s:property value="content" /></td>
</tr>
</s:iterator>
</table>
</body>
</html>
'IT > Struts2' 카테고리의 다른 글
스트럿츠2 파일 업로드 (0) | 2013.07.31 |
---|---|
유효성 검사 (0) | 2013.07.30 |
스트럿츠2 태그 <s:sort /> (0) | 2013.07.30 |
OGNL ( Object Graph Navigation Language ) (0) | 2013.07.29 |
스트럿츠2 태그 - 로그인 처리 (0) | 2013.07.29 |