
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.8</version>
</dependency>
<!-- Tiles Resolver : start -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/config/tiles/tiles-def.xml</value>
</list>
</property>
</bean>
<!-- Tiles Resolver : end -->

예시로 samplelayout// 뒤의 / 이 각각 {1},{2}자리로 들어가서 경로를 설정하게 된다
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> 추가

타일즈 배치 구조를 세팅한다, 참고로 해당 예시에서는 header, leftMenu, footer 는 미리 만들어놨다

2번에서 tiles-def에 세팅해줬던 definition 타일즈 name이 samplelayout// 이므로 해당 네임 패턴에 맞게 컨트롤러의 리턴값을 맞춰춰야 한다
<!-- 기본 -->
<definition name="samplelayout/*/*"
template="/WEB-INF/jsp/tiles/samplelayout/baseLayout.jsp">
<put-attribute name="header"
value="/WEB-INF/jsp/tiles/samplelayout/header.jsp" />
<put-attribute name="leftMenu"
value="/WEB-INF/jsp/tiles/samplelayout/leftMenu.jsp" />
<put-attribute name="body"
value="/WEB-INF/jsp/vkbio/sample/{1}/{2}.jsp" />
<put-attribute name="footer"
value="/WEB-INF/jsp/tiles/samplelayout/footer.jsp" />
</definition>
name="samplelayout/*/*"
body부분은 컨트롤러에서 리턴 받는 값에 따라 동적으로 들어간다.
해당 예시에서는 samplelayout/samplemenu/tilesSampleList 이므로 /WEB-INF/jsp/vkbio/sample/samplemenu/tilesSampleList.jsp 파일이 body부분으로 들어가게 된다.
/jsp/tiles/ 폴더 아래에 위치시켜 분류 시켰다 아래는 vkbio 설비부분의 레이아웃을 만든 모습
jsp/vkbio/facilites 아래에 하위 폴더로 구분하였다.
설비 센터의 메인화면을 보여주고싶다라고 하면 컨트롤러에서 facilitieslayout/center/CenterMain 을 리턴해주면된다.
