웹언어/JSP2012. 8. 29. 14:11

 자바빈을 JSP 페이지에서 사용하는데는 3가지의 액션 태그 제공. 자바빈 객체를 생성하기 위한 <jsp:useBean> 액션 태그, 자바빈 객체의 프로퍼티값을 저장하기 위해 사용되는 <jsp:setProperty> 액션 태그, 자바빈 객체서 저장된 프로퍼티 값을 사용하기 위해 사용되는 <jsp:getProperty> 액션 태그.

 자바빈 관련 액션 태그

 내용 

 <jsp:useBean id="..." class="..." scope="..." /> 

 자바빈 객체를 생성 

 <jsp:setProperty name="..." property="..." value="..." /> 

 생성된 자바빈 객체에 프로퍼티 값을 저장 

 <jsp:getProperty name="..." property="..." />

 생성된 자바빈 객체에서 저장된 프로퍼티 값을 가져옴.(사용함)


<jsp:useBean> 액션 태그

 <jsp:useBean> 액션 태그는 자바빈 객체를 생성.

<jsp:useBean id="빈 이름" class="자바빈 클래스 이름" scope="범위" />

id 속성은 생성될 자바빈 객체(인스턴스)의 이름을 명시하는 곳. 필수속성으로 생략 불가.

class 속성은 객체가 생성될 자바빈 클래스명을 기술. 이 때 패키지명을 포함한 자바 클래스의 풀네임을 기술. 필수 속성으로 생략 불가.

scope 속성은 자바빈 객체의 유효 범위로 자바빈 객체가 공유되는 범위를 지정. scope 속성값으로는 page, session, application을 가지며, scope 속성은 생략 시 기본값은 page.



<jsp:setProperty> 액션 태그

 <jsp:setProperty> 액션 태그는 자바빈 객체의 프로퍼티 값을 저장하기 위해 사용.

<jsp:setProperty name="빈 이름" property="프로퍼티 이름" value="프로퍼티에 저장할 값" />

name 속성은 자바빈 객체의 이름을 명시. 필수 속성으로 생략 불가.

property 속성은 프로퍼티명을 기술. 필수 속성으로 생략 불가.

value 속성은 프로퍼티에 저장할 값을 기술. 생략 가능.


작성예

<jsp:useBean id="testBean" class="ch10.bean.TestBean" scope="page">

<jsp:setProperty name="testBean" property="name" />

</jsp:useBean>

 위의 <jsp:setProperty name="testBean" property="name" /> 액션 태그는 자바빈 클래스의 setName() 메소드와 자동 연동. 즉 프로퍼티명 name은 자바빈 클래스의 name 프로퍼티의 의미. 


작성예1

<jsp:useBean id="inDb" scope="page" class="bean.logon.DbDataLogin">

<jsp:setProperty name="inDb" property="*" />

</jsp:useBean>

 property 속성값을 *(아스테리스크)를 주면 모든 프로퍼티 값이 세팅. 폼으로부터 넘어오는 파라미터의 이름과 개수가 프로퍼티의 이름과 개수와 일치해야 한다.


작성예2

<사용자 입력 폼>

<input type="text" name="userid" size="10" maxlength="10" 

<자바빈을 사용하는 JSP 페이지>

<jsp:useBean id="inDb" scope="page" class="bean.logon.DbDataLogin">

<jsp:setProperty name="inDb" property="id" param="userid" />

</jsp:useBean>

 폼으로부터 넘어온 파라미터 명과 자바빈의 프로퍼티가 일치하지 않으므로 <jsp:setProperty> 액션 태그에 param 속성을 기술. param 속성값에는 폼으로부터 넘어온 파라미터명을 기술.



<jsp:getProperty> 액션 태그

 <jsp:getProperty> 액션 태그는 자바빈 객체에서 저장된 프로퍼티 값을 사용하기 위해 사용.

<jsp:getPropery name="빈 이름" propertu="프로퍼티 이름" />

name 속성은 자바빈 객체의 이름을 명시. 필수 속성으로 생략 불가능.

property 속성은 프로퍼티명을 기술. 필수 속성으로 생략 불가능.



출처 - 은기노의 JSP 웹프로그래밍 입문

Posted by 건깡