Language/JSP

D+30 [jsp:useBean 액션 태그를 이용한 객체 사용]

구일일구 2022. 9. 4. 20:29
반응형

일반적으로 정보를 표현할 때에는 자바빈(Java Bean)의 형태를 갖는 클래스를 사용한다. 예를 들어, 회원 정보, 게시판 글 등의 정보를 출력할 때, 정보를 저장하고 있는 자바빈 객체를 사용하게 된다. 이 장에서는 자바빈이 무엇인지 살펴보고, JSP 페이지에서 자바빈을 사용할 수 있도록 도와주는 <jsp:useBean> 액션 태그에 대해서 살펴볼 것이다.


자바빈(JavaBean) = DTO

https://melonicedlatte.com/2021/07/24/231500.html

 

DAO, DTO, VO 란? 간단한 개념 정리 - Easy is Perfect

 

melonicedlatte.com

(VO는 getter만 가지고 있음. 즉, 읽기만 가능 / 자바빈 or DTO는 get, set 모두 가지고 사용)

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

* 여러가지 값 타입을 저장하고 싶을 때, 자바빈을 사용함

* 데이터베이스 테이블과 연게해서 작업을 할 것.

 

* 일반적인 구성

- 값을 저장하기 위한 필드(변수)

- 값을 수정하기 위한 setter 메서드

- 값을 읽기 위한 getter 메서드


자바빈 프로퍼티

* 프로퍼티는 자바빈에 저장되어 있는 값을 표현
* 메서드 이름을 사용해서 프로퍼티의 이름을 결정
 
* 규칙 : 프로퍼티 이름이 propertyName일 경우 : 앞에 set, get 붙이고 대문자로 바꿈 (대부분)
setter: public void setPropertyName(Type value)
getter: public Type getPropertyName()
boolean 타입일 경우 getterget대신 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.
 
예시

- MemberInfo m = new MemberInfo();

- request.setAttribute("info", m);

 

* 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 보다는, getid와 같은 방식으로 더 많이 쓰임
- <jsp:getProperty name="member" property="id" />
- <%= member.getId() %> 

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

프로퍼티의 타입 변환 방법 기본 값
boolean 또는 Boolean Boolean.valueOf(String)을 값으로 갖는다. false
byte 또는 Byte Byte.valueOf(String)을 값으로 갖는다. (byte) 0
short 또는 Short Short.valueOf(String)을 값으로 갖는다. (short) 0
char 또는 Character 입력한 값의 첫 번째 글자를 값으로 갖는다. (char) 0
int 또는 Integer Integer.valueOf(String)을 값으로 갖는다. 0
long 또는 Long Long.valueOf(String)을 값으로 갖는다. 0L
double 또는 Double Double.valueOf(String)을 값으로 갖는다. 0.0
float 또는 Float Float.valueOf(String)을 값으로 갖는다. 0.0f
반응형