본문 바로가기

웹/jsp

jsp 8 - java bean

A> 자바빈이란

    자바로 작성된 컴포넌트

    jsp 중에서 로직만 별도의 자바코드로 작성함

    데이터만 저장하는 객체(데이터 객체= data object)

    value object 라고도 한다. 

    혹은 value transfer object = VTO 라고도 한다.

 

    자바빈의 사용이유

    디자인 부분과 로직을 분리하기 위해

    => 그럼 재사용성이 증가한다.

          코드도 줄어들음

 

B>설계 규약

1. getter ,setter 존재

2.  getter 에는 파라미터가 없다. 

3. 생성자도 기본 생성자

4. setter 에는 파라미터가 있다.

5. 컴포넌트의 속성은 읽기 ,쓰기 가능해야 됨

    --만약 읽기 전용이라면 메소드만 정의 가능

6. 멤버 변수 접근자는 private

   클래스와 getter , setter 접근자는 public이다.

 

 

C>jsp에서 사용할 때

1. jsp:useBean

사용법

<jsp:useBean id="지정 아이디" calss="패키지.Bean 클래스 이름"  scope="page"/>

만약

<jsp:useBean id="beantest" class="test.BeanTest" scope="page"/>

이라면

BeanTest beantest = new BeanTest() 라는 의미

scope는 사용범위 

scope="page"는 현재 페이지 에서만 사용가능

scope의 기본값은 page

 

2.jsp:setProperty 

bean 클래스의 속성값을 다루고자 할때 사용

여기서 속성값은 Bean 클래스의 멤버 변수

 

<jsp:setProperty name="beantest" property="name" value="BeanTest!"/>

라고 하면 

beantest의 name속성값에 값을 BeanTest! 로 바꾼다는 뜻

이때 setName이 작동한다.

 

3.jsp:setProperty

외부에서 파라미터가 날아올때

param을 쓰면 된다.

<jsp:setProperty name="beantest" property="name" param="값"/>

파라미터로 날아오는 '값' 을 beantest의 setName() 의 파라미터로 넘김

 

전체에 대한 값을 set하고 싶을때

property="*" 로 하면된다.

이때는 들어오는 파라미터의 이름과

빈 클래스의 속성이름이 같아야 한다.

 

html에서 name의 속성값이 파라미터로 들어오는것을

명심하자

 

 

4.jsp:getProperty

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

beantest 의 name 속성의 값을 getter로 가져오겠다.

' > jsp' 카테고리의 다른 글

jsp10 - 예외처리  (0) 2021.01.27
jsp-9 세션과 쿠키  (0) 2021.01.27
jsp 7 - 여러가지 태그  (0) 2021.01.26
jsp-6 내장객체  (0) 2021.01.26
jsp5 - 지시어와 태그  (0) 2021.01.26