본문 바로가기
프로그래밍 놀이터/Web

Chap 11. <jsp:useBean> 액션 태그를 이용한 객체 사용

by 돼지왕 왕돼지 2015. 1. 17.
반응형

Chap 11. <jsp:useBean> 액션 태그를 이용한 객체 사용


* 자바빈 ( JavaBean )


자바빈은 데이터를 표현하는 것을 목적으로 하는 자바 클래스.



-

자바빈 프로퍼티.


프로퍼티는 자바빈에 저장되어 있는 값을 나타낸다.

프로퍼티이름을 사용해서 메서드의 이름을 결정하게 된다.




* <jsp:useBean> 태그를 이용한 자바 객체 사용


-

<jsp:useBean> 액션 태그를 사용하여 객체 생성하기.


<jsp:useBean id="info", class="test.PersonInfo", scope="request"/>


scope 는 page, request, session, application.  기본값은 page


위의 useBean 정의는 아래와 같다. 해당 scope 에 이미 값이 존재하면 기존 값을 사용한다.


PersonInfo info =  (PersonInfo) request.getAttribute( "info" );

if ( info == null ){

info = new PersonInfo();

request.setAttribute( "info", info );

}


class 대신 type 값을 사용할 수도 있는데 type 값을 사용할 경우에는 해당 scope 에 이미 값이 있다고 간주한다.

즉 다음과 같은 코드와 동일하다.



PersonInfo info =  (PersonInfo) request.getAttribute( "info" );

if ( info == null ){

에러 던지기!!

}



-

<jsp:getProperty> 액션 태그와 <jsp:setProperty> 액션 태그.


<jsp:setProperty> 는 자바빈 객체의 프로퍼티를 변경하거나 읽어올 수 있다.


<jsp:useBean id="info" class="test.PersonInfo"/>

<jsp:setProperty name="info" property="name" value="감자"/>


value 대신에 param 값으로 사용할 경우에는 파라미터 값을 지정할 때 사용한다.


property 속성 값을 * 로 지정하면 각각의 프로퍼티 값을 같은 이름을 갖는 파라미터의 값으로 설정한다.


<jsp:useBean id="info" class="test.PersonInfo"/>

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


parameter 값을 assign 해서 object 를 만드는데 무지 유용하다.




<jsp:getProperty> 액션태그는 자바빈 객체의 프로퍼티 값을 출력할 떄 사용된다.


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



cf) jsp:useBean 액션태그는 사용이 감소되고 있다.

MVC 를 사용할 경우 로직을 자바에서 처리하며, 이 경우 jsp:useBean 액션태그를 사용할 수 없다.

또한 표현 언어 ( Expression Language ) 의 등장으로 훨씬 간단하게 값 출력을 할 수 있다.








반응형

댓글