본문 바로가기
Web programming/Servlet & JSP

Include와 Tiles

by Skilly 2020. 5. 12.

 

 

웹 사이트를 제작할 때, 공통 영역은 관리와 수정이 용이하도록 분리해서 작업한다.

 

이를테면 수십 개의 페이지들에는 동일한 내용의 상단 영역과 푸터 등이 있다. 이러한 공통 영역은 별도로 분리하여 관리하지 않는다면 특정 페이지에서 상단 메뉴를 수정하는 일이 있을 경우, 모든 페이지의 상단 메뉴를 수정하는 반복적이고 비효율적인 업무가 필요하다. 그렇기 때문에 분리해서 참조하도록 작업(모듈화) 해두고 관리하는 것이다.

 

 

 

 Include 

페이지를 분리하고 참조하도록 할 때 include 태그를 사용한다.

 

<%@include>와 함께 분리된 페이지를 현재 페이지에 포함시킬 수 있는 기능을 한다.

즉, 영역을 분리하고 분리한 jsp 파일들을 레이아웃 틀이 있는 템플릿으로 집중화하는 것이다.

 

 

▶ include 사용 예 (layout.jsp) 

문법 <jsp:include page="파일경로" />

 

 

하지만 include 코드는 jsp 페이지마다 모두 동일한 페이지들을 include 한다고 표시를 해야 한다. 혹여 include 하는 페이지의 이름이 바뀌게 되면 그에 해당하는 모든 페이지를 수정해야 하는 문제가 있다.

여기서 tiles의 사용 이유에 대해 생각해볼 수 있다.

 

 

 

 Tiles 

tiles는 include의 역할과 유사하지만, include 코드 자체까지도 (여러 번 작성하지 않도록) 집중화할 수 있도록 한다.

 

타일을 사용하면 작성자가 페이지 조각을 정의할 수 있다. 이러한 조각 및 타일은 일반적인 페이지 요소의 중복을 줄이거나 다른 타일을 포함하여 재사용이 가능한 템플릿을 개발할 때 사용할 수 있다.

즉, 웹 사이트에서 반복적으로 사용되는 공통 영역을 분리하고, 분리한 파일들을 레이아웃 틀이 있는 템플릿 파일에 합치는 등의 작업을 할 때 타일즈를 사용한다. 

 

 

 

 tiles 정의 (tiles.xml)

 

 

 tiles 사용 (layout.jsp)

문법 <tiles:insertAttribute name="파일경로" />

 

 

 

 

 

 

 

 

반응형