각진 세상에 둥근 춤을 추자

[JSP] 액션 태그 - <jsp: include> 본문

JSP

[JSP] 액션 태그 - <jsp: include>

circle.j 2022. 10. 11. 22:59

 

 

액션 태그 (Action tag)란 JSP의 표준 태그로, 페이지 사이에서 이동을 제어하거나 자바빈을 생성할 때 주로 사용한다.

<jsp: 태그명 />

 

액션 태그의 특징은 다음과 같다.

  • XML 문법을 따른다.
  • 반드시 종료 태그를 사용한다.
  • 액션 태그 사이에 주석을 사용하면 에러가 발생한다.
  • 액션 태그에 속성값을 부여할 때는 표현식 <%= %>을 사용할 수 있다. 

 

액션 태그의 종류는 다음과 같다.

  • <jsp: include> - 외부 파일을 현재 파일에 포함 
  • <jsp: forward> - 다른 페이지로 요청을 넘김
  • <jsp: useBean>, <jsp: setProperty>, <jsp: getProperty> - 자바빈즈를 생성하고 값을 설정/추출
  • <jsp: param> - 다른 페이지로 매개변수 전달 (include, forward 액션 태그와 함께 사용) 

 


    <jsp: include>     

 

<jsp: include> 액션 태그는 외부 JSP 파일을 현재 JSP 파일로 포함시키는 기능을 한다. 

비슷한 기능으로는 include 지시어가 있다. 

include 지시어와 include 액션 태그를 다음과 같이 비교해 본다. 

 

  지시어 액션 태그
형식 <%@ include file = "경로" %> <jsp: include page = "경로" />
표현식 표현식 사용 불가 표현식 사용 가능
포함 방식 페이지 자체를 현재 페이지에 포함시킨 후 컴파일 진행 실행의 흐름을 포함시킬 페이지로 이동시킨 후 실행한 결과를 현재 페이지에 포함시킴 
변수 포함시킨 파일에서 생성한 변수 사용 가능 포함시킨 파일에서 생성한 변수 사용 불가 
  정적 동적

 

 

 

 

  • 지시어: 페이지를 현재 페이지에 포함시킨 후 컴파일 → 동일한 페이지로 인식
  • 액션 태그: 컴파일 후 결과물을 현재 페이지에 삽입 → 다른 페이지로 인식 

 

예제를 통해 include 액션 태그에 대해 이해해 본다.

 

[예제] include 액션 태그 

(1) 외부 파일 생성: inc 폴더 - OuterPage1.jsp, OuterPage2.jsp

 

 

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>포함될 외부 JSP 파일1</title>
	</head>
	<body>
		<h2>외부 파일1</h2>
		
		<!-- String 타입 변수 선언 -->
		<%
			String newVar1 = "고구려 세운 동명왕";
		%>
		
		<!-- page와 request 내장 객체 영역에서 속성을 읽어와 출력 -->
		<ul>
			<li>page 영역 속성 : <%= pageContext.getAttribute("pAttr") %></li>
			<li>request 영역 속성 : <%= request.getAttribute("rAttr") %></li>
		</ul>
		
	</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>포함될 외부 JSP 파일2</title>
	</head>
	<body>
		<h2>외부 파일2</h2>
		
		<!-- String 타입 변수 선언 -->
		<%
			String newVar2 = "백제 온조왕";
		%>
		
		<!-- page와 request 내장 객체 영역에서 속성을 읽어와 출력 -->
		<ul>
			<li>page 영역 속성 : <%= pageContext.getAttribute("pAttr") %></li>
			<li>request 영역 속성 : <%= request.getAttribute("rAttr") %></li>
		</ul>
		
	</body>
</html>

 

(2) include 실습 파일 생성: includeMain.jsp

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<% 
	// 포함할 파일의 경로
	String outerPath1 = "./inc/OuterPage1.jsp";
	String outerPath2 = "./inc/OuterPage2.jsp";
	
	// page 영역과 request 영역에 속성 저장
	pageContext.setAttribute("pAttr", "동명왕");
	request.setAttribute("rAttr", "온조왕");
%>

<!DOCTYPE html>
<html>
	<head>
		<title>Include 실습</title>
	</head>
	<body>
	
		<!-- 지시어 방식 -->
		<h3>[지시어 방식으로 페이지 포함하기]</h3>
		<%@ include file="./inc/OuterPage1.jsp"	%>
		<p>외부 파일에 선언한 변수: <%= newVar1 %></p>
		
		<!-- 액션 태그 방식 -->
		<h3>[액션 태그 방식으로 페이지 포함하기]</h3>
		<jsp:include page="./inc/OuterPage2.jsp"/>
		<jsp:include page="<%= outerPath2 %>" />
		
	</body>
</html>

 

 

 

 

'JSP' 카테고리의 다른 글

[JSP] <jsp: useBean>  (0) 2022.10.12
[JSP] 액션 태그 - <jsp: forward>  (0) 2022.10.11
[JSP] session 객체  (0) 2022.10.09
[JSP] response 객체  (0) 2022.10.06
[JSP] 내장 객체(Implicit Object) - request  (0) 2022.10.05