관리 메뉴

드럼치는 프로그래머

[JSP] include 액션 태그 <jsp:include> 본문

★─Programing/☆─WebProgram

[JSP] include 액션 태그 <jsp:include>

드럼치는한동이 2016. 7. 25. 02:00

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 액션 태그는 결과를 포함시키는 것이다. (이것은 차이가 있다.)


[출처] http://hyeonstorage.tistory.com/94


Comments