정리노트

[JSP] 액션 태그

망고고래 2023. 11. 30. 16:06

4장. 액션 태그: 상품 목록 표시하기

4-1. 액션 태그의 개요

서버나 클라이언트에 어떤 행동을 하도록 명령하는 태그

 

기능

1)페이지와 페이지 사이 제어(이동)

2)다른 페이지의 실행 결과 내용을 현재 페이지에 포함(include)

3)자바 빈즈 등의 기능 제공

 

 

4-2. forward 액션 태그

현재 JSP 페이지에서 다른 페이지로 이동하는 태그

 

형식

<jsp:forward page = "____.jsp" />

 

JSP 컨테이너는 현재 JSP 페이지에서 forward 액션 태그를 만나면 그 전까지 출력 버퍼에 저장되어 있던 내용을 모두 삭제

→이전까지 생성된 HTML 손실

 

①flush=true인 경우

버퍼에 저장되어있는 내용을 출력하고 이동하지만 이동한 곳에 있는 내용을 출력해서 덮어씀

②flush=false인 경우

버퍼에 저장되어있는 내용이 사라지고 이동한 곳의 내용을 출력함

∴결과는 같다.

 

 

 

4-3. include 액션 태그의 기능과 사용법

형식

<jsp:include page = "파일명" flush="false"/>

flush는 false 권장

 

1) include 디렉티브 태그와의 공통점

특정 영역에 외부 파일의 내용을 포함함(실행 결과는 같음)

 

2) include 디렉티브 태그와의 차이점

구분 include 액션 태그 include 디렉티브 태그
처리 시간 요청 시 자원(파라미터) 포함 번역 시 자원 포함
기능 다른 페이지로 가서 코드를 가져옴 현재 페이지에 코드를 받아옴
데이터 전달 방법 request 기본 내장 객체나 param 액션 태그를 이용해서 파라미터 전달 페이지 내의 변수를 선언하고 변수에 값 저장
(파라미터 x)
용도 화면 레이아웃의 일부분을 모듈화할 때 주로 사용 다수의 JSP 웹 페이지에서 공통으로 사용되는 코드나 저작권과 같은 문장을 포함하는 경우
기타 동적 페이지에 사용 정적 페이지에 사용

 

 

 

 

 

4-4. param 액션 태그

현재 페이지에서 다른 페이지에 정보(파라미터)를 전달하는 태그

단독으로 사용 x, <jsp:forward>나 <jsp:include> 태그 내부에 사용

<jsp:forward page="파일명">
<jsp:param name="매개변수명1" value="매개변수값1" />
<jsp:param name="매개변수명2" value="매개변수값2" />
</jsp:forward>

 

파라미터로 java 코드를 넣을 수 있다.

 

 

 

 

4-5. 자바빈즈 액션 태그

자바 코드를 따로 분리해서 작성

  • useBean(객체 생성)
  • setProperty(setter)
  • getProperty(getter)

형식

<jsp:useBean id="자바빈즈 식별 이름" class="자바빈즈 이름" scope="범위"/>

 

id: 참조변수

class: 객체의 위치(패키지 이름을 포함한 클래스명)

scope: 자바빈즈가 삭제되는 시점 설정

  • page(기본값): 현재 페이지를 벗어나면 삭제
  • request: request.getParameter()를 사용한 페이지까지만 request 객체 사용 가능
  • session: 세션을 끝낼 때까지 유지됨
  • application: 서버가 끝날 때까지 유지됨
<jsp:useBean id="member" class="com.dto.MemberBean" scope="page"/>

아래 코드와 같음

MemberBean member = (MemberBean) request.getAttribute("member");
if(member == null){
    member = new MemberBean();
    request.setAttribute("member", member);
}