<jsp:useBean> 액션 태그



자바빈(JavaBeans)

자바빈 - 웹 프로그래밍에서 데이터의 표현을 목적으로 사용


일반적인 구성

- 값을 저장하기 위한 필드

- 값을 수정하기 위한 setter

- 값을 읽기 위한 getter


public class BeanClassName {

    /* 값을 저장하는 필드 */

    private String value;

    

    /* BeanClassName의 기본 생성자 */

    public BeanClassName() {

    }

    

    /* 필드의 값을 읽어오는 값 */

    public String getValue() {

        return value;

    }


    /* 필드의 값을 변경하는 값 */

    public void setValue(String value) {

        this.value = value;

    }

}


프로퍼티는 자바빈에 저장되어 있는 값을 표현

메서드 이름을 사용해서 프로퍼티의 이름을 결정

규칙 : 프로퍼티 이름이 propertyName일 경우

- setter: public void setPropertyName(Type value)

- getter: public Type getPropertyName()

- boolean 타입일 경우 getter에 get대신 is 사용 가능

배열 지정 가능: 예) public void setNames(String[])


읽기/쓰기

읽기 전용 : get 또는 is 메서드만 존재하는 프로퍼티

읽기/쓰기 : get/set 또는 is/set 메서드가 존재하는 프로퍼티




<jsp:useBean> 태그

JSP에서 자바빈 객체를 생성할 때 사용


구문

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


id - JSP 페이지에서 자바빈 객체에 접근할 때 사용할 이름

class - 패키지 이름을 포함한 자바빈 클래스의 완전한 이름

scope - 자바빈 객체가 저장될 영역을 지정한다. page, request, session, application 중 하나를 값으로 갖는다. 기본값은 page.

<jsp:useBean id="info" class="chap11.member.MemberInfo" scope="request" />

<%= info.getName() %>




<jsp:useBean> 액션 태그의 동작 방식


id 속성에 해당하는 객체가 지정한 영역에 존재할 경우

- 존재하는 객체를 사용


지정한 영역에 존재하지 않을 경우

- class 속성에 명시한 타입을 이용해서 객체를 생성 및

- 지정한 영역에 생성한 객체를 저장


scope 속성 값에 따라 저장되는 기본 객체

- "page" - pageContext 기본 객체

- "request" - request 기본 객체

- "session" - session 기본 객체

- "application" - application 기본 객체





<jsp:setProperty> 액션 태그


자바빈 객체의 프로퍼티 값 설정

구문

<jsp:setProperty name="id" property="이름" value="값"  />

name : 자바빈 객체의 이름

property : 값을 설정할 프로퍼티

value : 프로퍼티의 값


<jsp:setProperty name="id" property="이름"    param="파라미터이름"  />

param : 프로퍼티의 값으로 사용할 파라미터 이름.


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

프로퍼티와 동일한 이름의 파라미터를 이용해서 값을 설정

폼에 입력한 값을 자바 객체에 저장할 때 유용하게 사용



<jsp:getProperty> 액션 태그

프로퍼티의 값을 출력하기 위해 사용

구문

<jsp:getProperty name="자바빈" property="프로퍼티" />


※ EL(Expression Language)의 사용으로 <jsp:getProperty>는 거의 사용되지 않음



프로퍼티 타입에 따른 값 매핑


boolean 또는 Boolean : Boolean.valueOf(String)을 값으로 갖는다.

byte 또는 Byte : Byte.valueOf(String)을 값으로 갖는다.

short 또는 Short : Short.valueOf(String)을 값으로 갖는다.

char 또는 Character : 입력한 값의 첫 번째 글자를 값으로 갖는다.

int 또는 Integer : Integer.valueOf(String)을 값으로 갖는다.

long 또는 Long : Long.valueOf(String)을 값으로 갖는다.

double 또는 Double : Double.valueOf(String)을 값으로 갖는다.

float 또는 Float : Float.valueOf(String)을 값으로 갖는다.

 




Posted by netyhobby
,