ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [jsp] <%@ include%>와 jsp:include 차이
    Back-End/Spring Legacy 2022. 11. 30. 16:17

     

    📑 jsp:include

     

    서버측 include가 아닌 클라이언트의 include라고 생각하면 된다. 즉) 출력 결과만(html코드)을 include한다. include 되는 페이지와 변수를 같이 사용할 수 없다. 

     

    <jsp:include page="/WEB-INF/views/common/common_include.jsp">

     

    📌 속성 page

    - 포함시키고자 하는 문서의 위치를 명시한다. 

    - 상대경로뿐만 아니라 절대 경로도 가능하다.

    - 서블릿 컨테이너에 따라 HTML 페이지는 안 될 수도 있다.

    - GET 방식으로 파라미터를 전달 할 수 없다.

    - 동적으로 페이지 할당이 가능하다.  <jsp:include page="<%=variable%>" flush="true"/>가 가능하다. 

     

    flush는 문서의 출력 결과를 항상 버퍼내에서 갱신 하라는 의미이다. 

     

     

    a.jsp 코드
    <jsp:include page="b.jsp" flush="true"/>

     

    a.jsp 결과에 b.jsp가 실행된 결과가 include 된다. 즉 따로따로 실행된 후 그 결과만을 가지고 include 한다. 

     

     

     

    📑 <%@ include%>

     

    서버측 include라고 생각하면 된다. 즉) 소스 실행전에 include가 된다고 보면 된다. 소스 실행전 포함됨으로 변수를 같이 사용할 수 있으며, 동적으로 페이지 할당을 할 수 없다. 

     

    <%@ include file="../common/head.jsp"%>

     

    📌 속성  file

    : 포함될 페이지를 명시한다. 

     

    a.jsp 코드
    <%@ include file="b.jsp" %>

     

    b.jsp 코드 자체가 a.jsp에 포함된 후 실행된다. 

     

     

     

    📑 <%@ include%>와 jsp:include 비교해보기

     

    🔨 jsp:include

    1. 요청시간에 처리

    2. 별도의 파일로 요청 처리 흐름을 이동

    3. 화면 레이아웃의 일부분을 모듈화 할 때 주로 사용

     

    🔨 @include

    1. JSP 파일을 자바 소스로 변환할 때 처리

    2. 현재 파일에 삽입 시킴

    3. 연결된 파일을 포함해서 같이 컴파일한다.

     

    include 지시어는 다른 jsp의 소스 코드를 해당 jsp에 그대로 포함시킨다. 반면에 액션 태그의 <jsp:include>는 태그는 다른 JSP의 소스 코드가 아니라, 다른 JSP 실행 결과값을 해당 JSP 페이지에 포함시킨다. include는 주로 조각난 코드를 삽입하고자 할 때(정적 페이지) 사용되고,  <jsp:include> 액션 태그는 페이지를 모듈화할 때 사용된다. (동적 페이지) 즉 템플릿 페이지를 작성할 때 사용된다.

     

    반응형

    댓글

Designed by Tistory.