"Tiles"는 웹 사이트의 레이아웃을 관리하는데 사용되는 프레임워크이다 .
"Tiles" 를 사용하면 레이아웃을 구성하는 여러 페이지를 재사용할 수 있어서 유지 관리가 쉽고 일관된 레이아웃을 유지할 수 있다.
1. pom.xml에 라이브 러리 추가 : Apache Tiles의 필요한 라이브러리를 Maven 프로젝트에 추가하기 위해 pom.xml 파일에 의존성을 추가한다.
<dependencies>
<!-- other dependencies -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
이렇게 추가하면 Maven이 자동으로 필요한 라이브러리를 다운로드 받는다.
2. 템플릿 파일 만들기 및 영역 설정 : 레이아웃을 정의하는 JSP파일을 만들고 각 영역(헤어,바디,푸터 등)을 정의 한다.
이는 Tiles설정 파일에 참조 된다.
3.Tiles 설정 파일 만들기 및 레이아웃 등록 : Tiles 설정 파일(main-tiles.xml 같은) 을 만들어 레이아웃을 등록한다. 레이아웃과 각 뷰에 대한 매핑도 이 파일에 정의한다.
<tiles-definitions>
<definition name="base.definition" template="/WEB-INF/layouts/layout.jsp">
<put-attribute name="header" value="/WEB-INF/layouts/header.jsp"/>
<put-attribute name="body" value=""/>
<put-attribute name="footer" value="/WEB-INF/layouts/footer.jsp"/>
</definition>
<definition name="home" extends="base.definition">
<put-attribute name="body" value="/WEB-INF/views/home.jsp"/>
</definition>
<!-- more definitions -->
</tiles-definitions>
4. spring-config.xml에 설정: Spring 설정 파일에 Tiles에 대한 설정을 추가한다. 이는 Tiles 설정 파일을 읽고, Tiles를 기반으로 뷰를 만들 수 있도록 TilesConfigurer 와 TilesViewResolver를 등록하는 것을 포함한다.
<beans xmlns="http://www.springframework.org/schema/beans" ... >
<!-- Other bean definitions -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" />
</beans>
5. 뷰 등록 및 사용 : 이제 개별 컨트롤러에서 뷰 이름을 반환하면 Spring과 Tiles가 해당 뷰를 찾아서 제공한다.
이렇게 Tiles를 사용하면 재사용 가능한 페이지 요소를 만들고 각각의 페이지를 이 요소들로 구성하여 전체적인 레이아웃을 일관되게 유지할 수 있다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!