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 |