반응형
<자바 빈즈 (액션 태그)>
jsp의 표준 액션 태그를 통해 접근할 수 있는 자바클래스로서 멤버변수와, setter, getter메소드로 이루어져 있다.
(★Point! 자바라는 언어를 쓰지않고도 사용할 수 있는 태그 (<%%>), 기본생성자로만 객체를 생성 할 수 있기 때문에 자바소스에서 객체생성시 초기화작업이 필요하다면 기본생성자에 작성해야한다.)
번호 (위에 이어서) |
목적 | 비교 | 문법 |
4 | 객체생성 | 자바 빈즈 사용 전 | <% MemberVO member = new MemberVO(); %> |
자바 빈즈 사용 후 | <jsp:userBean class="com.koreait.beans.MemberVO" id="member"> | ||
5 | setter() | 자바 빈즈 사용 전 | <% member.setName("홍길동"); %> |
자바 빈즈 사용 후 | <jsp:setProperty property="name" name="member" value="홍길동"> | ||
6 | getter() | 자바 빈즈 사용 전 | <% member.getName(); %> |
자바 빈즈 사용 후 | <jsp:getProperty property="name" name="member"> |
- 자바빈즈 규칙
1. 패키지화 :
반드시 패키지 이름을 지정해 주어야 한다. 지정이 없는 default pakage면 나중에 경로 지정시 불가능에 가깝다.
2. 필드 접근자를 private로 설정해야 한다. (메소드를 제외한 필드는 자바빈즈에서 접글할 수 없다.)
3. getter, setter메소드는 puvlic으로 설정해야 한다.
4. 기본 생성자 선언해야 한다.
<자바빈즈의 장점>
- 수많은 파라미터를 자바 빈에 담아 사용/전달 할 수 있기 때문에 폼데이터 처리에 좋다.
- 위에 설명한 것처럼 <% ..... %>으로 매번 사용하는것보다 빈즈를 사용해서 선언을 해놓고
이름으로 불러와서 사용하면 되기 때문에 재사용성이 좋다.
// MVC모델에서 M과 C의 기능을 모아
<%@page import="com.koreait.beans.MemberVO"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 클래스 경로에 있는 클래스를 객체로 만들고 이름을 지정해준다.
MemberDAO dao = new MemberDAO()와 같은 의미 -->
<jsp:useBean class="com.koreait.beans.MemberVO" id="vo"/>
<jsp:useBean class="com.koreait.beans.MemberDAO" id="dao"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바빈즈 예제</title>
</head>
<body>
<!-- HTML 주석은 컴파일을 막지 않고 보여지는 부분만 주석처리해준다. -->
<%-- JSP 주석은 컴파일도 주석처리 된다. --%>
<jsp:setProperty property="name" name="vo" value="한동석"/>
<jsp:setProperty property="birthday" name="vo" value="12-04"/>
<% ArrayList<MemberVO> members = dao.select("한동석"); %>
<table border="1">
<%for(int i=0; i<members.size(); i++){ %>
<tr>
<td><%=members.get(i).getName()%></td>
<td><%=members.get(i).getBirthday() %></td>
</tr>
<%} %>
</table>
<!-- 위에서 셋한 내용을 가져와서 출력한다. -->
<jsp:getProperty property="name" name="vo"/>
<jsp:getProperty property="birthday" name="vo"/>
</body>
</html>
반응형
'프로그래밍 공부 > JSP' 카테고리의 다른 글
[DoIt] JSP - 기본 데이터 전달(JSP -> Servlet) , get/post 전달방식 (0) | 2023.01.10 |
---|---|
[lesson] JSP - 쿠키(Cookie) + 세션(Session) (0) | 2023.01.10 |
[lesson] JSP - 내장객체 (0) | 2023.01.10 |
[lesson] JSP - Ajax (Asynchronous Javascript and Xml) (0) | 2023.01.10 |
[lesson] JSP - 개요 (0) | 2021.09.08 |