본문 바로가기

JSP

<jsp:include> 액션태그와 include 디렉티브의 차이점

일반적으로 웹 사이트를 보면 상단 메뉴, 좌측 메뉴, 중앙 내용, 하단 메뉴등의 구성요소로 이루어진다. 이들 구성 요소 중에는 상단 메뉴나 하단 메뉴처럼 모든 페이지에서 고정적인 것들이 있고, 좌측 메뉴처럼 페이지에 따라서 변경되는 부분이 있고, 중앙 내용처럼 페이지마다 서로 다른 화면이 출력되는 것도 있다.

<jsp:include> 액션 태그를 사용하면 이처럼 모든 페이지에서 공통되는 부분을 다른 JSP 페이지의 결과 화면에 포함할 수 있도록 해준다.

<%@ include file="" %> 디렉티브도 <jsp:include>와 마찬가지로 지정한 페이지를 현재 위치에 포함시켜주는 기능을 제공한다.

하지만, <jsp:include>와 include 디렉티브는 포함되는 방식에 있어서 큰 차이를 보인다. <jsp:include>는 다른 JSP로 흐름을 이동시켜 그 결과물을 현재 위치에 포함시키는 방식인 반면에, include 디렉티브는 다른 파일의 내용을 현재 위치에 삽입한 후에 JSP파일을 자바 파일로 변환하고 컴파일 하는 방식이다.

include 디렉티브는 코드 차원에서 포함되기 때문에 <jsp:include> 액션 태그와는 다른 용도로 사용될 수 있다. 일반적으로 <jsp:include> 액션태그는 레이아웃의 한 구성 요소를 모듈화하기 위해 사용되는 반면에, include 디렉티븐 모든 JSP페이지에서 사용되는 변수를 지정하거나 저작권 표시와 같은 간단하면서도 모든페이지에서 중복되는 문장의 형태로 주로 사용된다.