DAY38(2) - 자바빈즈 액션태그

은나현·2023년 3월 21일
0

📌 1. 자바빈즈(Java Beans)

📍 1-1. 자바빈즈 액션태그

  • 자바빈즈(Java Beans) : JSP의 표준 액션 태그를 통해 접근할 수 있는 자바 클래스로서 멤버변수(필드)와 getter, setter 메소드로 이루어져 있다.
  • 자바빈즈 객체 예시
public class MemberBean {
	// 필드
	private String name;
	private int age;
	// 메서드
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

📍 1-1. 객체 생성

  • java : MemberBean member = new MemberBean();
  • jsp 태그 : <jsp:useBean class="패키지명.MemberBean" id="member">

📍 1-2. setter()

  • java : member.setName("자바학생");
  • jsp 태그 : <jsp:setProperty name="member" property="name" value="자바학생"/>

📍 1-3. getter()

  • java : member.getName();
  • jsp 태그 : <jsp:getProperty name="member" property="name" />

📍 2-1. ArrayList로 빈즈 이용하기

  • 자바빈즈 객체를 이용한 DB SELECT 메서드 예시
	// MemberBean 객체들을 저장하는 ArrayList를 반환하는 메서드
    public ArrayList<MemberBean> selectAll(){
		String sql = "SELECT * FROM MEMBER";
        // 새 결과 ArrayList<MemberBean> 생성
 		ArrayList<MemberBean> result = new ArrayList<>();
		try {
			conn = DBConnection.getConnection();
			pstm = conn.prepareStatement(sql);
			rs = pstm.executeQuery();
			// sql문 실행으로 얻어온 ResultSet 조회
			while(rs.next()) {
            	// rs 레코드당 하나의 MemberBean 생성
				MemberBean member = new MemberBean();
                // 결과를 Bean에 저장
				member.setName(rs.getString(1));
				member.setAge(rs.getInt(2));
                // Bean을 ArrayList result에 add
				result.add(member);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return result;
	}
  • 자바빈즈 객체가 담긴 ArrayList 사용 예시
<body>
	// useBean 태그로 select 메서드가 담긴 DAO 가져오기
	<jsp:useBean id="mdao" class="com.codingbox.dao.MemberDao"/>
	<%	
    	// ArrayList에  결과 담아오기
		ArrayList<MemberBean> result = mdao.selectAll();
	%>
	<table border="1">
		<tr>
			<th>이름</th>
			<th>나이</th>
		</tr>
        // 담긴 객체 수만큼 데이터를 MemberBean 객체에 할당하며 도는 반복문
		<% for( MemberBean member : result) {%>
		<tr>
        	// getter 메서드로 데이터를 꺼내서 사용
			<td><%= member.getName() %></td>
			<td><%= member.getAge() %></td>
		</tr>
		<%}	%>
	</table>
	<input type="button" value="다시 검색하기" 
		onclick="location.href = 'age_search.jsp'">
</body>

0개의 댓글