Tiles 2.2.2를 사용하였다.(Tiles libray 란 사이트집중화를 위한것이다. 웹의 특성상 header, aside, content, footer 를 기준으로 구성을 많이 하게 되는데 header 와 footer 고정이 될것이고 aside 는 대메뉴에 따라 달라질것이다. 그리고 콘텐츠만 달라지고 나머지는 거의 같다. 이러한 사이트의 특성을 고려하여 중복되는 작업을 최소화하고 더 유연한 레이아웃을 구성할수 있게한다) 최신버전인 3. 대 버전도 크게 다르지 않을거라 생각한다. 


https://tiles.apache.org/download.html 다운로드 받을수 있는 홈페이지 이다. dependency 가 좀 얽혀 있으므로 maven 을 사용한다면 한다면 porm.xml 선언해주면 될것이다. 아래는 2.2.2 버전의 모든 dependency 를 포함한 maven 설정값이다.


  <dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>2.2.2</version>
  </dependency>


 

 이 포스팅에선 수동으로 library를 추가 할것이다. 위에서 언급한 사이트에서 아래와 같은 binary library 를 내려받는다. 주소는 다음과 같다 

http://www.apache.org/dyn/closer.cgi/tiles/v2.2.2/tiles-2.2.2-bin.zip 

(미러링 사이트 이므로 멀받든 상관 없다.)

 압축을 해제후

최상단 폴더에서

tiles.api-2.2.2.jar

tiles-core-2.2.2.jar

tiles-jsp-2.2.2.jar

tiles-servlet-2.2.2.jar

tiles-template-2.2.2.jar


위의 library의 의존성 파일들을 추가시켜주어야 한다.

lib/ 폴더에서

commons-beanutils-1.8.0.jar

commons-digester-2.0.jar

jcl-over-slf4j-1.5.8.jar

slf4j-api-1.5.8.jar


 위의 의존성 파일들에서 또다른 의존성 파일을 추가시켜야한다

lib/optional

slf4j-jdk14-1.5.8.jar


총 10개의 라이브러리를 프로젝트의 lib 폴더에 복사한다.(기억에 의존하여 쓴거라 library를 빼먹어서 쓸수도 있습니다. 컴파일 단계에서 의존성에 관한 에러를 보내주므로 해당하는 library 를 찾아서 추가시켜주시면 됩니다.)



Spring을 기준으로 하고 있으므로 Spring에 맞게 xml 을 편집합시다. 클래스화 시켜서 하는 방법도 있지만 대세는 xml 이므로..

dispatcher-servlet..xml 을 편집합니다. 

	<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
		<property name="definitions" value="/WEB-INF/tilesdef.xml(Tiles의 설정 xml 파일의 위치를 적어준다. 여기선 /WEB-INF/tilesdef.xml 로 설정하였다.)"></property>
	</bean>

	<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"></property>
	</bean>
	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	</bean>

순서에 유의하셔야 합니다. property 3번째 bean 설정 같은경우 Tiles 를 쓰게 되면 Dispatcher 를 통해 반환된값은 Tiles 에 설정된 값을 찾게는데(없을시 에러) Tiles의 설정이 필요 없는 resource 나 단순 jsp 같은경우는 그대로 반환해주는 역활을 합니다.

다음은 위에서 설정한 tiles 설정 xml 위치에 해당 xml 파일을 만들고 설정을 해야 합니다. 이부분에 대한 설명부터는 http://tiles.apache.org/2.2/framework/tutorial/basic/pages.html 메뉴얼 사이트의 Create a definition 을 보고 하시면 됩니다.