본문 바로가기
다양한 기술들/Web 관련

[06] JSP 응용 : 표준액션태그

by 예스p 2023. 2. 9.

JSP의 액션태그

액션태그에 대해 배우기 전에 JSP를 복습해본다.

 


JSP를 이루는 구성인자(복습)

  1. 스크립팅 원소 :
    - JSP페이지에서 자바코드를 직접 기술할 수 있게하는 기능
    - ex) 스크립틀릿, 표현식(출력식),  선언문, ..
  2. 지시어
    a) JSP페이지 정보에 대한 내용을 표현한다거나 (page지시어)
    b) 또다른 페이지를 포함하고자 할때 (include지시어)
    c) JSP기능을 확장시키는 라이브러리를 등록할 때 사용(taglib지시어)
  3. 액션태그
    - 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"/>
	<% } %>

 

 

 

 

 

 

 

댓글