JSP의 <jsp:include> 액션 태그는 현재 생성 중인 페이지에 다른 파일을 삽입할 수 있도록 해주는 기능입니다. 기본 문법은 다음과 같습니다.
<jsp:include page = "상대 URL" flush = "true" />
include 디렉티브와의 차이점
<jsp:include> 액션은 include 디렉티브(<%@ include %>)와 비슷해 보이지만, 동작 방식에 중요한 차이가 있습니다.
- include 디렉티브: JSP 페이지가 서블릿으로 변환(번역)되는 시점에 파일 내용이 정적으로 삽입됩니다.
- include 액션: 클라이언트가 페이지를 요청(request)하는 시점에 파일이 삽입됩니다. 따라서 포함된 파일의 내용이 변경되더라도 재컴파일 없이 항상 최신 내용이 반영됩니다.
주요 속성
include 액션에서 사용할 수 있는 속성은 다음과 같습니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | page 현재 페이지에 포함시킬 대상 페이지의 상대 URL을 지정합니다. |
| 2 | flush 파일을 포함하기 전에 출력 버퍼를 플러시(flush)할지 여부를 결정하는 불리언(boolean) 속성입니다. |
예제
실습을 위해 (a) date.jsp와 (b) main.jsp 두 개의 파일을 아래와 같이 작성해 보겠습니다.
먼저 date.jsp 파일의 내용입니다.
<p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
다음은 main.jsp 파일의 내용입니다.
<html>
<head>
<title>The include Action Example</title>
</head>
<body>
<center>
<h2>The include action Example</h2>
<jsp:include page = "date.jsp" flush = "true" />
</center>
</body>
</html>
두 파일을 모두 루트(root) 디렉터리에 저장한 뒤 브라우저에서 main.jsp에 접속하면, 요청 시점에 date.jsp가 포함되어 다음과 같은 결과가 출력됩니다.
실행 결과
The include action Example
Today's date: 12-Sep-2010 14:54:22
이처럼 <jsp:include> 액션을 활용하면 날짜 표시, 공통 메뉴, 푸터 등 자주 변경되거나 여러 페이지에서 반복 사용되는 콘텐츠를 별도의 파일로 관리하고, 요청 시점에 동적으로 포함시킬 수 있습니다.