JSP의 액션태그
액션태그에 대해 배우기 전에 JSP를 복습해본다.
JSP를 이루는 구성인자(복습)
- 스크립팅 원소 :
- JSP페이지에서 자바코드를 직접 기술할 수 있게하는 기능
- ex) 스크립틀릿, 표현식(출력식), 선언문, .. - 지시어 :
a) JSP페이지 정보에 대한 내용을 표현한다거나 (page지시어)
b) 또다른 페이지를 포함하고자 할때 (include지시어)
c) JSP기능을 확장시키는 라이브러리를 등록할 때 사용(taglib지시어) - 액션태그 :
- xml기술을 이용해서 기존의 jsp문법을 확장하는 기능을 제공하는 태그
xml의 ml은 markup language를 의미하며 마크업언어는 <>형태의 태그를 사용한다.
>> 액션태그도 <>를 사용한다!
액션태그 종류
- 표준액션태그 (Standard Action Tag)
- 연동이 필요없어 JSP에서 바로 사용 가능
- 모든 태그명 앞에 jsp: 이라는 접두어가 붙음 - 커스텀액션태그 (Custom Action Tag)
- 사용을 위해 별도의 라이브러리 연동과정이 필요함(라이브러리 추가 후 taglib)
- 모든 태그명 앞에는 taglib으로 지정해둔 접두어가 붙임
- 가장 대표적이고 유용한 라이브러리 : JSTL
액션태그 특징
- 액션태그의 모든 태그는 시작태그와 끝태그로 구성된다
단, 시작태그와 종료태그 사이에 들어갈 요소가 없다면 시작태그의 마지막에 '/'를 넣음으로써 태그 하나로 끝낼 수 있다. (다른 태그들도 가능)
ex) <jsp:include page="파일경로"></jsp:include>
== <jsp:include page="파일경로" /> - 액션태그의 시작태그와 종료태그 안에 공백엔터나 주석을 넣어서는 안된다.(오류남)
표준액션태그
연동과정 없이 바로 사용가능한 표준액션태그에 대해 알아보자.
include지시어를 대체하는 <jsp:include />
- 또다른 페이지를 포함하고자 할 때 쓰는 태그
- [표현법] <jsp:include page="파일경로"></jsp:include>
== <jsp:include page="파일경로" /> - 기존의 include 지시어 사용시 특징
: <%@ include file="상대경로" %>
- include 하고 있는 jsp상에 선언된 변수를 현재 이 jsp에서도 사용 가능
>> 현재 jsp에서 동일한 이름의 동일한 이름의 변수를 재선언할 수 없음.
- 정적include방식이라고도 한다. - 표준액션태그로 include 시 특징
1) include하고 있는 jsp상에 선언된 변수를 공유하지 않음.
>> 현재 jsp에서 동일한 이름의 변수를 재선언할 수 있음.
2) 페이지를 포함할 때 include하는 페이지로 값을 전달할 수 있다.
>> jsp:param 사용. 해당 include하는 페이지는 param.키값 으로 출
>>동적include방식이다.
3) 기존 지시어와 동일하게 <style> 태그안에 작성해둔 CSS설정은 포함한 jsp에도 적용된다.
단, taglib은 반영되지 않는다.
include시 데이터를 넘기는 <jsp:param />
- pram은 parameter의 약자로 <jsp:include>, <jsp:forward>등의 태그내 컨텐트부에 작성되며,
키밸류 세트로 데이터를 넘긴다. - [표현법] <jsp:param name="키값" value="밸류값" />
- 출력시에는 ${ param.키값 }으로 접근한다.
<jsp:include page="footer.jsp">
<jsp:param name="test" value="Hello"/>
</jsp:include>
<!-- clude하는 페이지에서 출력할때는? -->
test : ${ param.test }
페이지를 포워딩하는 <jsp:forward />
- 또다른 페이지로 바로 포워딩하거나 조건에 따라 각기 다른페이지로 보낼 때 사용한다.
- 이때, 포워딩됨에 따라 url은 변경되지 않는다.
<% if(10>3) { %>
<jsp:forward page="footer.jsp">
<jsp:param name="test" value="Hello"/>
</jsp:forward>
<% } else { %>
<jsp:forward page="../01_EL/elBasic.jsp"/>
<% } %>

'다양한 기술들 > Web 관련' 카테고리의 다른 글
| [API] 개요 / RESTful 설계규칙 / HTTP 메소드 (0) | 2023.04.13 |
|---|---|
| [07] JSP 응용 : JSTL 커스텀액션태그 (0) | 2023.02.10 |
| [05] JSP 응용 : EL (0) | 2023.02.09 |
| [04] JSON, GSON 기초 / 실습 (0) | 2023.01.20 |
| [03] Ajax 기초, 실습 (0) | 2023.01.18 |
댓글