05 JSP 액션 태그
● 액션태그의 개요
○ 형태
■ <jsp:태그 이름 속성=”속성값” 속성=“속성값”... />
□ jsp와 같은 접두어 : 액션 태그 외에도 JSP 페이지에서 사용 가능한 외부태그를 지정
□ 커스텀 태그 : 액션 태그를 제외한 JSP 페이지에서 사용 가능한 외부 태그
cf) JSTL : <c:태그 이름 속성=‘속성값" 속성=“속성값”... />
○ 분류
● 액션 태그의 사용
○ JSP 페이지에 태그 형태로 구현하는 액션 태그 역시 실제 실행 단계에서는 서블릿 형태의 클래스 내 자바 코드로 변경됨
1) 페이지 흐름 제어
■ forward 액션 태그
□ <jsp:forward pag = “포워딩 대상페이지" />
□ pageContext 내장객체의 forward( )메서드와 동일한 역할
□ 바디 영역이 존재하면 시작 태그와 종료 태그로 나누어서 사용할 수도 있음
<jsp:forward page = ”포워딩 대상 페이지"〉
바디 영역
</jsp: forward)
□ 요청, 응답 제어권을 넘긴 후 돌려받지 못하므로 forward 액션 태그 사용 전후의 문자열은 모두 출력되지 못함
■ include 액션 태그
□ include 방식은 포워딩 방식처럼 대상 페이지로 요청과 응답의 제어권을 넘겨주지만, 대상 페이지 실행이 종료되면 다시 제어권을 돌려받음
□ 바디 영역이 존재하면 시작 태그와 종료 태그로 나누어서 사용할 수도 있음
<jsp : include page="인클루드 대상 페이지" />
<jsp:include page="인클루드 대상 페이지" />
바디 영역
</jsp: include〉
■ param 액션 태그
□전달해야 할 파라미터를 직접 request 요청 객체에 지정하여 전송
□request 내장객체에 지정된 데이터 이외의 값을 사용하거나 이미 지정되어 있는 값을 변경할 때 요긴하게 사용
□<jsp:param 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 속성 지정하여 생성)
<jsp:useBean id="myMember” class="Member”/>
=> Member myMember = New Member( );와 같음
□ 자바 빈에 정의 된 메서드들은 액션 태그로 지정한 id로 접근해서 스크립틀릿에서 자바 코드로 사용하거나 아래의 setProperty 액션태그나 getProperty 액션태그로 사용
(3) setProperty 액션 태그
□ 자바 빈 객체의 속성값을 지정
□ 자바 빈 클래스 setter 메서드로 자바 빈 객체 내 변수의 값을 할당하는 기능과 동일
□ 자바 빈 객체의 프로퍼티에 값을 설정할 경우 value 속성이 자주 사용
□ request 내장객체 내 파라미터의 값을 지정하려 할 때는 param 속성을 사용
□ <jsp:setProperty name="자바 빈 객체명" property="속성(변수명)" value="속성값" />
<jsp:setProperty name="myMember" property="id" value="OKjava" />
=> myMember.setId(“OKjava”); 와 같음
(4) getProperty 액션 태그
□ 자바 빈 클래스의 getter 메서드와 동일한 기능
□ 자바 빈 객체에 지정된 속성의 값을 불러온 후 바로 출력에 사용
□ <jsp:getProperty name="자바 빈 객체명" property=”속성(변수명) “/>
<jsp:getProperty name=”myMember";property=”id"/>
=> <%=myMember.getId(); %> 와 같음. 바로 출력!
3) 스크립팅 요소
■ 스크립틀릿, 표현식, 선언문 역시 액션 태그를 이용하여 사용
(1) scriptlet 액션 태그 = <% %>
<jsp:scriptlet>
바디 영역
</jsp:scriptlet >
(2) expression 액션 태그 = <%= %>
<jsp:expression>
바디 영역
<jsp: expression>
(3) declaration 액션 태그 =<%! %>
<jsp:declaration>
바디 영역
</jsp:declaration>
'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 |