[JSP] 액션 태그(Action Tag)

ImOk·2021년 12월 15일
0

👩‍💻 웹 개발

목록 보기
11/14
post-thumbnail

액션 태그(Action Tag)

  • 자바 코드 형태로 작성할 수 있는 것을 태그 형태로 정의한 것
  • 코드 양을 대폭 줄일 수 있고 가독성 높은 소스코드를 작성할 수 있다.
  • 태그의 이름 앞에 jsp라는 접두어를 사용
  • JSP와 JSP 사이를 제어하거나 다른 페이지의 실행 결과를 현재 페이지에 포함시킬 수 있다.

액션 태그 종류

종류JSPAction Tags Description
페이지 이동, 포함jsp:forward현재 JSP 페이지에서 URL로 지정한 특정 페이지로 넘어갈 때 사용
페이지 이동, 포함jsp:include정적 혹은 동적인 자원을 현재 페이지의 내용에 포함시킨다
Data 객체 사용jsp:useBean자바빈즈를 생성하고 사용하기 위한 환경을 정의하는 액션 태그
Data 객체 사용jsp:setProperty자바빈즈의 property를 설정
Data 객체 사용jsp:getProperty자바빈즈의 property를 얻음
jsp:plugin애플릿과 같은 다른 구성 요소를 포함
페이지 변수 전달jsp:param매개 변수 값을 설정, 대부분 forward, include에서 사용
jsp:fallback플러그인이 작동하는 경우 메시지를 인쇄하는 데 사용(jsp : plugin에서 사용)

1. include

현재 jsp 페이지의 특정 영역에 외부 파일의 내용을 포함한다.

<jsp:include page="외부 파일명" flush="false" />
  • page: 현재 JSP 페이지내에 포함할 내용을 가진 외부 파일명
  • flush: 설정한 외부 파일로 제어가 이동할 때 현재 JSP 페이지가 지금까지 출력 버퍼에 저장한 결과를 처리

2. forward

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

<jsp:forward page="이동할 외부 파일명" />

jsp 컨테이너가 forward 액션 태그를 만나면, 그전까지 출력 버퍼에 저장되어있던 내용을 모두 삭제하고, forward 액션 태그에 설정된 페이지로 프로그램의 제어가 이동한다.

  • page: 현재 JSP 페이지에서 이동할 페이지의 외부 파일명

3. plugin

웹 브라우저에서 자바 애플릿을 실행시킬 때 사용
애플릿이 웹에서의 서비스가 느린 것 때문에 잘 사용하지 않는다.
애플릿은 JNLP(Java Network Lunching Protocol)로 대체되는 추세이다.


4. useBean

자바 빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화하는 태그

<jsp:useBean id="식별자" class="자바빈즈 이름" scope="범위" />
  • id: 생성될 자바빈 객체(인스턴스)의 이름을 쓰는 곳 (필수 속성)
  • class: 객체가 생성될 자바빈 클래스명을 기술하는 곳으로, 패키지명을 포함한 자바 클래스의 풀네임을 기술한다.(필수속성) ex)class="패키지이름.클래스이름"
  • scope: 자바빈 객체의 유효 범위로 자바빈 객체가 공유되는 범위를 지정한다. scope 속성값으로 page, request, session, application을 가지며 scope 속성 생략시 기본값은 page이다.

5. setProperty

자바 빈즈의 setter() 메서드에 접근하여 자바 빈즈의 멤버 변수인 프로퍼티의 값을 저장하는 태그

<jsp:property name="식별자" property="프로퍼티 이름" value="" />
  • name : 사용할 빈의 이름을 지정 (필수 속성)
  • property : 값을 저장할 프로퍼티명을 지정 (필수 속성)
  • value : 프로퍼티에 저장할 값을 지정. (생략 가능)

6. getProperty

자바빈 객체에서 저장된 프로퍼티 값을 사용하기 위해 사용된다.

<jsp:getProperty name="식별자" property="프로퍼티 이름"/>
  • name : 사용할 빈의 이름을 지정
  • property : 값을 가져올 빈의 변수를 지정

7. param

현재 jsp 페이지에서 다른 페이지에 정보를 전달하는 태그

<jsp:include page="외부파일명" name="식별자" value="" />

단독으로 사용하지 못하며, <jsp:forward><jsp:include>태그의 내부에 사용


🔗 참고자료

https://velog.io/@ansalstmd/JSP4.-%EC%95%A1%EC%85%98-%ED%83%9C%EA%B7%B8

profile
ImOk👌

0개의 댓글