JSP에서 소스를 include 하기 위해서 두가지 방법이 있다.


1. <jsp:include page="introView.jsp" />

2. <%@ include file="introView.jsp" %>


두가지 방식은 보이는 면에서는 동일한 동작을 한다. 하지만 내부적으로는 완전 다르다.

1 번 방식의 경우는 액션태그를 통해서 지정된 경우. (동적)
  - 액션태그 방식
  - 페이지 요청시 include 페이지를 실행하고 결과를 include
  - include한 페이지와 별도로 컴파일 되기 때문에 Main.jsp에 지정된 strMain 변수를 사용할 수 없다.
    (그렇기 때문에 같은 변수명으로 변수 지정이 가능)
  - 값을 전달하기 위해서는 '<jsp:param name="name1" value="value1" />'를 사용하여 전달 한다.



2 번 방식의 경우는 include로 지정된 경우. (디렉티브 - 정적)
 - 디렉티브(정적) 방식
 - 페이지를 최초 컴파일 할때 include 파일을 포함하여 컴파일
 - include한 파일에서 지정된 변수를 사용가능 (동일한 변수명으로 안에서 선언할 경우 에러)





참고 URL


Outsider님 블로그 : JSP 템플릿 사용하기

http://blog.outsider.ne.kr/208


JAVA+님의 블로그 : <jsp:forward page="url" /><jsp:include /> <%@ include %>

http://antop.tistory.com/77




덧.


JEUS를 사용하면서

include된 JSP가 실시간으로 반영되지 않는 경우(디렉티브)를 자주 보았다.


왜그런가.. 했더니 이게

recompile 관련 옵션이 있었구만..


WEB-INF/jeus-web-dd.xml

  <jeus-web-dd>

      <context>

          ...

          <auto-reload>

              <enable-reload>true</enable-reload>

              <check-on-demand>true</check-on-demand>

          </auto-reload>

          ...


WEBMain.xml

 <web-container> 

     <context-group>

          ... 

          <jsp-engine>

              <check-included-jspfile>true</check-included-jspfile>

          </jsp-engine>

          ... 



음료수한잔님 블로그 : [JEUS]auto-reload설정

http://blog.naver.com/jsh2194/50033801562



Posted by Mooki

댓글을 달아 주세요