-
[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> 액션 태그는 페이지를 모듈화할 때 사용된다. (동적 페이지) 즉 템플릿 페이지를 작성할 때 사용된다.
반응형'Back-End > Spring Legacy' 카테고리의 다른 글
[MyBatis] 동적 쿼리 trim 문법 알아보기 (0) 2023.04.17 [Spring] Log4j2 환경설정 , (+ log.info 에러 ) (0) 2023.04.04 [Spring MyBatis] selectKey 사용하기 (0) 2022.11.17 [MyBatis] resultType 객체 별칭(alias) 관리 (0) 2022.11.16 [Spring Framework] 정의와 특징 ( DI, IoC, AOP) (0) 2022.09.20