자바빈은 속성(데이터), 변경 이벤트, 객체 직렬화를 위한 표준이다.
자바빈 클래스: 데이터를 저장하는 필드, 데이터를 읽을 시, 저장 시 사용하는 메서드가 포함된 형태가 표준 자바빈 규약을 따르는 클래스다.
자바빈 프로퍼티
예시
public class BeanClassName implements java.io.Serializable{
private String value; //값을 저장하는 필드
public BeanClassName(){
//기본생성자
}
public String getValue(){
return value; //필드의 값을 읽어오는 값
}
public void setValue(String value){
this.value = value; //필드의 값을 변경하는 값
}
}
예시
<%
//자바빈 객체를 지정할 때 사용하는 구문
<jsp:useBean id="빈이름" class"자바빈클래스이름" scope="범위"/>
//실전 예시
<jsp:useBean id="info" class"chap07.member.MemberInfo" scope="request"/>
//MemberInfo의 생성자를 info라는 bean에 담는다.
/*
자바빈을 통해실행되는 코드 예시
MemberInfo info = new MemberInfo();
request.setAttribute("info",info);
*/
//자바 생성자를 쓰듯이 사용 가능
info.setId("test");
info.setValue("test");
%>
<!-- 모든 프로퍼티에 값을 저장, 이름 동일 한 경우 자동 -->
<jsp:setProperty name="user" property="*" />
<!-- 추가 활용법(새것 생성) -->
<jsp:useBean id="memberList" class="java.util.ArrayList"/>
Bean의 이름을 통해 프로퍼티 값을 변경한다.
예시
<%
//지정한 id값을 통해 프로퍼티값을 재지정 가능하다
<jsp:useBean id ="member" class="chap08.member.MemberInfo"/>
<jsp:setProperty name="member" property="name" value="김재훈"/>
<jsp:getProperty name="member" porperty="name"/>
%>