[JSP] include 액션 태그 <jsp:include>
include 액션 태그 <jsp:include>
- include 액션 태그는 include 디렉티브(<%@include>) 와 함께 다른 페이지를 현재 페이지에 포함시킬 수 있는 기능을 가지고 있다.
- include 디렉티브는 단순하게 소스의 내용이 텍스트로 포함이 되지만 include 액션 태그는 포함시킬 페이지의 처리 결과를 포함시킨다는점이 다르다.
- 포함되는 페이지는 HTML, JSP, Servlet 페이지 등 모두 가능하다.
- include 디렉티브는 주로 조각 코드를 삽입할 때 사용되고, include 액션 태그는 페이지를 모듈화할 때 사용된다. 즉 템플릿 페이지를 작성할 때 사용된다.
<jsp:include page="abc.jsp" flush="false" />
- page 의 속성은 현재 페이지에 결과가 포함될 페이지명이 되며, 상대경로를 쓰거나 절대 경로를 사용한다.
- page 속성의 값은 표현식을 사용할 수 있다. (include 디렉티브는 안된다)
<%
String content = request.getParameter("name");
%>
<jsp:include page="<%=content%>" flush="false" />
- flush 속성은 포함될 페이지로 제어가 이동될 때 현재 포함하는 페이지가 지금까지 출력 버퍼에 저장한 결과를 처리하는 방법을 결정한다.
- flush 속성의 값을 'true' 로 지정하면 포함될 페이지로 제어가 이동될 때 현재 페이지가 지금까지 버퍼에 저장한 내용을 웹 브라우저에 출력하고 버퍼를 비운다.
- flush 속성을 일반적으로 'false' 로 지정하는 것이 좋다. 'true'로 지정하면 일단 출력 버퍼를 웹브라우저에 전송하게 되는데 이때 헤더 정보도 같이 전송된다. 헤더 정보가 일단 웹 브라우저에 전송이 되고 나면 헤더 정보를 추가해도 결과가 반영되지 않는다.
- 해당 페이지에 파라미터를 전송해야 할 경우 아래와 같이 사용한다.
<hr>
<jsp:include page="<%pageName%>" flush="false">
<jsp:param name="name" value="<%=name%>" />
<jsp:param name="pageName" value="<%=pageName%>"/>
</jsp:include>
- <%pageName%>페이지에 name 과 pageName 파라미터로 전송한다.
- 공통적인 중복 부분은 JSP 파일로 모듈화하여 include 액션 태그로 불러주면 편리하다.
- 페이지 모듈화를 하면 사이트의 유지보수가 쉬워진다. 변경 사항이 발생할 때 모듈화한 페이지만 수정해도 모든 페이지가 수정된다.
- include 디렉티브(<%@include >) 와의 차이점은 위에서 설명했듯이, include 디렉티브는 소스 코드 자체를 삽입하는 것이고 include 액션 태그는 결과를 포함시키는 것이다. (이것은 차이가 있다.)
출처: https://hyeonstorage.tistory.com/94?category=554979 [개발이 하고 싶어요]
'Java 관련 > JSP,Servlet' 카테고리의 다른 글
[JSP] web.xml 에러 페이지 처리 (0) | 2019.07.17 |
---|---|
[JSP] HTTP 에러코드 정리 (0) | 2019.07.17 |
[JSP] 자바빈 액션태그 <jsp:useBean> (0) | 2019.07.17 |
[JSP] forward 액션 태그 <jsp:forward > (0) | 2019.07.17 |
[JSP] 액션 태그(Action tag) <jsp: > (0) | 2019.07.17 |
[JSP] JSP 내장 기본 객체의 영역(scope) (0) | 2019.07.17 |
[JSP] exception 내장 객체 (0) | 2019.07.17 |
[JSP] page 기본 객체 (0) | 2019.07.17 |