1. 디렉티브방식
1 | <%@ include file="~~"%> |
- 정적 include 방식, 인클루드 되는 내용이 단순하게 텍스트로 포함되어 컴파일이 된다. (복사된다는 느낌)
- 주의할점은 비록 포함되는 페이지라 하더라도 한글을 제대로 처리하기 위해서는 포함되어지는 jsp파일 상단에 인코딩 명시를 해줘야 한다.
- 포함되어지는 jsp 내용이 변경이 될 경우 해당 jsp를 사용하는 jsp를 강제로 변경(touch) 해줘서 다시 컴파일이 되게 해야하는 불편함이 있다.
- 정적 방식이기 때문에 예로들어 전역변수를 인클루드 되는 jsp에서 지정하게 되면 상위jsp에서 사용이 가능하게 된다.
2. 액션태그 방식
1 | <jsp:include page="~~"/> |
- 동적 include 방식, 포함하는 문서와 상관없이 동적으로 컴파일 된다. (완전히 별도로 동작하기 때문에 변수를 동시에 사용하려면 따로 파라미터로 넘겨줘야 한다.)
flush
옵션은 요청흐름이 넘어가면서 현재까지 페이지의 결과를 출력할 것인지 말것인지를 결정하는것이다. 일반적으로false
로 설정한다.<jsp:param>
를 이용하여 파라미터를 전송할수 있다.1
2
3
4<jsp:include page="..." flush="false">
<jsp:param name="name" value="이름" />
<jsp:param name="pageName" value="페이지이름"/>
</jsp:include>
3. JSTL 방식
1 | <c:import url="~~" /> |
- JSTL(JSP Standard Tag Library) 태그중의 하나
- 컴파일 되고 동작하는 방식은 액션태그
<jsp:include page="~~"/>
와 같음 - 현재 컨테이너 안에 있는 자원외에 다른 외부 자원도 포함이 가능하다.
1 | <c:import url="http://www.google.com/"/> |
- 아래와 같이 보다 더 다양한 옵션이 제공된다
1
2
3
4
5<c:import! url="읽어올 URL"
var="읽어올 데이터를 저장할 변수명"
scope="변수의 공유 범위"
varReader="리소스의 내용을 Reader 객체로 읽어올 때 사용"
charEncoding="읽어온 데이터의 캐릭터셋 지정" />
Buy me a coffee