05 JSP 액션 태그

● 액션태그의 개요

○ 형태

<jsp:태그 이름 속성=”속성값속성=“속성값”... />

jsp와 같은 접두어 : 액션 태그 외에도 JSP 페이지에서 사용 가능한 외부태그를 지정

□ 커스텀 태그 : 액션 태그를 제외한 JSP 페이지에서 사용 가능한 외부 태그

cf) JSTL : <c:태그 이름 속성=‘속성값" 속성=“속성값”... />

 

○ 분류

 

● 액션 태그의 사용

JSP 페이지에 태그 형태로 구현하는 액션 태그 역시 실제 실행 단계에서는 서블릿 형태의 클래스 내 자바 코드로 변경됨

 

1)    페이지 흐름 제어

forward 액션 태그

<jspforward pag = “포워딩 대상페이지" />

pageContext 내장객체의 forward( )메서드와 동일한 역할

□ 바디 영역이 존재하면 시작 태그와 종료 태그로 나누어서 사용할 수도 있음

<jspforward page = ”포워딩 대상 페이지"

바디 영역

</jsp forward)

□ 요청, 응답 제어권을 넘긴 후 돌려받지 못하므로 forward 액션 태그 사용 전후의 문자열은 모두 출력되지 못함

 

include 액션 태그

include 방식은 포워딩 방식처럼 대상 페이지로 요청과 응답의 제어권을 넘겨주지만, 대상 페이지 실행이 종료되면 다시 제어권을 돌려받음

□ 바디 영역이 존재하면 시작 태그와 종료 태그로 나누어서 사용할 수도 있음

<jsp : include page="인클루드 대상 페이지" />

<jspinclude page="인클루드 대상 페이지" />

바디 영역

</jsp include

 

param 액션 태그

□전달해야 할 파라미터를 직접 request 요청 객체에 지정하여 전송

request 내장객체에 지정된 데이터 이외의 값을 사용하거나 이미 지정되어 있는 값을 변경할 때 요긴하게 사용

<jspparam name="파라미터 이름" value=”파라미터의 값” />

name 속성 : 전달될 파라미터의 구분 이름

value 속성 : 해당 파라미터의 값을 지정

    forward include 액션 태그와 함께 사용할 때 바디 부분에 구현됨

forward include 액션 태그 하위 태그로 사용

여러 파라미터 지정 가능

request 내장객체의 getParameter( ) 메서드를 통해 첨부된 파라미터 불러 옴

 

2)    자바 빈 사용

■ 웹 서비스에서 여러 종류의 데이터가 하나의 정보를 구성할 때 각 데이터를 관리하기 위해 제작하는 클래스

JSP 페이지 내 자바 코드 사용 없이 간단히 자바 빈 클래스의 객체를 생성

(1)   자바 빈 클래스

□ 웹 애플리케이션의」특정 기능을 수행하기 위한 다양한 데이터를 한 번에 관리 및 활용하기 위 제작하는 클래스

□ 클래스의 목적 : 애플리케이션 내 데이터 관리

□ 빈 규약!

• 자바 빈 클래스는 입력 파라미터가 없는 기본 생성자를 포함해야 한다.

• 자바 빈 클래스의 프로퍼티는 get/set/is 메서드로 접근하며, 메서드명은 표준 명명 규칙을 따라 만든다. set 메서드의 경우, 입력 파라미터를 하나 이상 가질 수 있다.

• 자바 빈 클래스는 객체의 직렬화를 위해 java.io.Serializable 인터페이스를 구현한다.

□ 프로퍼티가 될 변수를 private로 선언하고, 해당 변수의 값을 불러오거나 저장하기 위해 사용하는 set/get/is 메서드들은 public으로 구현

-> 접근 제어자를 통해 변수의 접근을 메서드만을 통해 허용하기 위함

 

(2)   useBean 액션 태그

□ 자바 빈 클래스의 객체를 생성하기 위해 사용하는 액션 태그

자바 빈 클래스의 객체 생성을 태그 형식으로 간단히 사용

    자바 빈 클래스를 먼저 제작

java 파일로 빈 클래스 제작(멤버 변수들과 setter, getter 선언하고 정의)

    useBean 액션 태그를 통해 객체로 생성 (id, class 속성 지정하여 생성)

<jspuseBean id="myMember” class="Member”/>

=> Member myMember = New Member( );와 같음

□ 자바 빈에 정의 된 메서드들은 액션 태그로 지정한 id로 접근해서 스크립틀릿에서 자바 코드로 사용하거나 아래의 setProperty 액션태그나 getProperty 액션태그로 사용

 

(3)   setProperty 액션 태그

□ 자바 빈 객체의 속성값을 지정

□ 자바 빈 클래스 setter 메서드로 자바 빈 객체 내 변수의 값을 할당하는 기능과 동일

□ 자바 빈 객체의 프로퍼티에 값을 설정할 경우 value 속성이 자주 사용

request 내장객체 내 파라미터의 값을 지정하려 할 때는 param 속성을 사용

<jspsetProperty name="자바 빈 객체명" property="속성(변수명)" value="속성값" />

<jspsetProperty name="myMember" property="id" value="OKjava" />

=> myMember.setId(“OKjava”); 와 같음

 

(4)   getProperty 액션 태그

□ 자바 빈 클래스의 getter 메서드와 동일한 기능

□ 자바 빈 객체에 지정된 속성의 값을 불러온 후 바로 출력에 사용

<jspgetProperty name="자바 빈 객체명" property=”속성(변수명) “/>

<jspgetProperty name=”myMember"property=”id"/>

=> <%=myMember.getId(); %>  와 같음. 바로 출력!

 

3)    스크립팅 요소

■ 스크립틀릿, 표현식, 선언문 역시 액션 태그를 이용하여 사용

(1)   scriptlet 액션 태그 = <% %>

<jspscriptlet>

바디 영역

</jspscriptlet >

(2)   expression 액션 태그 = <%= %>

<jspexpression>

바디 영역

<jsp expression>

(3)   declaration 액션 태그 =<%! %>

<jspdeclaration>

바디 영역

</jspdeclaration>

 

'JSP > 이론' 카테고리의 다른 글

[JSP][이론]07 EL  (0) 2020.09.07
[JSP][이론]06 데이터베이스 프로그래밍  (0) 2020.09.07
[JSP][이론]04 JSP 세션 관리_HTTPSession  (0) 2020.09.05
[JSP][이론]04 JSP 세션 관리_쿠키  (0) 2020.09.05
[JSP][이론] 02 JSP 기초  (0) 2020.09.05

+ Recent posts