4장: 표준 액션 태그
(1) 표준 액션 태그
- JSP 컨테이너에서 기본적으로 제공하는 미리 정해진 기능들
- 커스텀 태그: 개발자가 만들어서 사용하는 태그
- 사용 방법: <태그_라이브러리_이름 : 태그_이름>
(2) forward 액션 태그
- 다른 페이지로 이동(전환)할때 사용되는 태그
- forward 태그가 있던 JSP 페이지의 모든 내용을 버리고 forward 태그가 지정하는 다른 페이지로 이동함
- 형식: <jsp:forward page= "파일_이름">
(3) param 액션 태그
- 현재 JSP 페이지에서 다른 페이지에 정보를 전달하는 태그
- 이 태그는 단독 사용 불가. 따라서 forward 태그나 include 태그의 내부에 사용해야함
- 다른 페이지에 여러 개의 정보를 전송해야 할 때는 다중의 param 액션 태그를 사용함
- 형식
<jsp:forward page="파일_이름"> <jsp:param name="매개변수_이름_1" value="매개변수_값_1"/> [<jsp:param name="매개변수_이름_2" value="매개변수_값_2"/> ...] </jsp:forward> |
(4) include 액션 태그
- 자바의 include 지시문과 같이 다른 페이지를 현재의 페이지에 포함시킴
- include 지시문: 소스의 내용이 텍스트로 포함됨
- include 액션 태그: 포함시킬 페이지의 처리 결과를 포함함(동적)
- 형식
<jsp:include page="포함시킬_페이지"/> |
- include 액션태그 vs 디렉티브 태그
구분 | include 액션 태그 | include 지시자 |
처리 시간 | 요청시 자원을 포함함 | 번역시의 자원을 포함함 |
기능 | 별도의 파일로 요청 처리 흐름을 이동함 | 현재 페이지에 삽입함 |
데이터 전달 방법 | request 내장 객체나 param 액션 태그를 이용해 파라미터를 전달함 | 페이지 내의 변수를 선언한 후 변수에 값을 저장함 |
용도 | 화면 레이아웃의 일부를 모듈화함 | 다수의 JSP 페이지에서 공통으로 사용되는 코드나 footer 같은 문장을 포함하는 경우에 사용함 |
기타 | 동적 페이지에 사용됨 | 정적 페이지에 사용됨 |
5장: JSP 자바 빈즈
(1) 자바 빈즈
- Java 언어의 데이터(속성)와 기능(getter/setter)으로 이루어진 클래스
- JSP 안의 자바 코드들이 담당했던 일들을 독립적으로 처리하기 위한 부품
→ 여러 JSP에서 사용할 수 있음 - 장점: 효율성, 재사용성, 폼 데이터의 처리가 용이해짐. 자바 빈즈 활용 범위(scope) 확장이 용이함. 컴포넌트 기반의 구현이 가능해짐(비즈니스 로직을 컴포넌트로 만들어 활용할 수 있음)
- 자바 빈즈 개발 규약
- 패키지화: 패키지명.패키지명.클래스명 등
- 기본 생성자가 반드시 존재해야함: <jsp:useBean>으로 객체를 생성하는데 이때 기본 생성자를 이용함
- 멤버 변수의 접근 지정자는 private이어야함
- getter/setter의 접근 지정자는 public 이어야함
- (선택 사항) 직렬화 구현
(2) <jsp:useBean>
<jsp:useBean class="패키지_이름.클래스_이름" id="이름"/> |
- 기능: 자바 빈즈 객체를 생성함
- id: 주어진 페이지에서 자바 빈즈 객체를 식별할 수 있는 유일한 명칭
- class: 사용하려는 자바 빈즈 객체의 실제 클래스의 이름을 패키지의 이름과 함께 지정함
- type: 자바 빈즈 클래스 객체에 접근할 때 필요한 타입을 지정함. 생략할시 자바 빈즈 클래스 타입으로 지정됨
- scope: 생성된 자바 빈즈 객체를 사용할 수 있는 범위. 하나의 빈에는 하나의 scope 값만 사용할 수 있음
- page: 하나의 JSP 페이지에서만 사용할 수 있음(기본값)
- request: 요청이 처리되는 동안 forward, include 페이지 간에 사용할 수 있음
- session: 클라이언트 단위로 사용할 수 있음
- application: 웹 애플리케이션 단위로 사용할 수 있음
(3) <jsp:setProperty>
<jsp:setProperty property="멤버_이름" name="자바_빈즈_이름" value="값"/> |
- 기능: 액션 태그로 생성한 자바 빈즈 객체의 속성값을 수정함
- name: 사용하려는 자바 빈의 <jsp:useBean> 태그에서 정의한 id 속성 값과 동일해야함
- property: 값을 수정하려는 자바 빈즈 객페의 멤버 변수 이름을 지정함
- value: 변경하려는 값을 지정함
- param: 질의 문자열에서 param 속성에 할당된 값과 같은 name의 값으로 자바 빈의 속성 값을 설정함
- 설정 값 생략하기: 변경하려는 값을 지정하지 않으면 질의 문자열에서 멤버 변수와 같은 이름을 찾아서 자동으로 설정함
- property="*": 자바 빈 객체의 속성 값들을 초기화함
(4) <jsp:getProperty>
<jsp:getProperty property="속성_이름" name="자바_빈즈_이름"/> |
- 기능: 액션 태그로 객체를 생성한 후 자바 빈즈의 속성 값을 추출함
- name: 사용하려는 자바 빈의 <jsp:useBean> 태그에서 정의한 id의 속성 값과 동일해야함
- property: 값을 추출하려는 자바 빈즈 객체의 멤버 변수의 이름을 지정함
'기초' 카테고리의 다른 글
[JSP] 6 - EL, JSTL (0) | 2020.06.23 |
---|---|
[JSP] 5 - 세션, 쿠키 (0) | 2020.06.20 |
[JSP] 3 - 내장 객체 (0) | 2020.06.17 |
[JSP] 2 - JSP 프로그래밍 입문 (0) | 2020.06.15 |
[JSP] 1 - 웹 프로그래밍 (0) | 2020.06.15 |