JSP include(지시자와 액션태그)
JSP페이지를 모듈화하여 다른 페이지에 include하는 방법은 지시자(directive)와 액션태그(action tag)를 사용하는 방법이 있다.
1. 지시자 include(directive include)
'지시자 include'는 단순하게 소스의 내용이 텍스트로 포함되어 컴파일된다. 즉, a.jsp에 b.jsp파일을 directive include할 경우 b.jsp파일의 소스는 a.jsp안에 복사되어 컴파일되는 것이다.
지시자 inlclude의 처리과정은 정적이라고 할 수 있다.
사용법
1 | <%@ include file="포함할 파일의 경로" %> | cs |
1 2 3 4 5 6 7 8 9 | <body> <%@ include file="/header.jsp" %> <div> main content </div> <%@ include file="/footer.jsp" %> </body> | cs |
2. 액션태그 include(action tag include)
'액션태그 include'는 페이지의 처리결과를 포함한다는 점에서 '지시자 include'와 차이점이 있다.
a.jsp파일에서 b.jsp파일을 <jsp:include>를 이용하여 execute했을 경우 그 소스가 복사되는 것이 아니라 프로그램의 실행제어가 넘어갔다가 되돌아오게 된다.
위의 그림에서 보듯이 브라우저가 a.jsp에 요청을 하고 a.jsp페이지를 처리하는 도중에 액션태그를 만나면 프로그램 실행제어가 b.jsp로 넘어가서 b.jsp를 처리하게된다. 그리고 b.jsp의 실행이 끝나면 다시 a.jsp 제어로 복귀해서 남은 코드를 실행한다. 그 결과를 마지막으로 클라이언트(웹브라우저)로 보내주게 된다.
사용법
1 | <jsp:include page="포함할 페이지의 경로"> | cs |
1 2 3 4 5 6 7 8 9 | <body> <jsp:include page="/header.jsp"></jsp:include> <div> main content </div> <jsp:include page="/footer.jsp"></jsp:include> </body> | cs |
3. 지시자 include, 액션태그 include 비교
*지사자 include
1) 처리시간 : JSP 파일을 자바 소스로 변환할 때 처리
2) 기능 : 현재 파일에 삽입
3) 데이터 전달 방법 : 페이지 내의 변수를 선언한 후, 변수에 값 저장
4) 용도 : 다수의 JSP페이지에서 공통으로 사용되는 코드나 저작권과 같은 문장을 포함
*액션태그 include
1) 처리시간 : 요청시간에 처리
2) 기능 : 별도의 파일 요청 처리 흐름을 이동
3) 데이터 전달 방법 : request 기본객체나 <jsp:param>을 이용한 파라미터 전달
4) 용도 : 화면의 레이아풋의 일부분을 모듈화할 때 주로 사용
* 출처
http://blog.naver.com/ceresrits/40043798219
http://cafe.naver.com/jjdev/2214