header 컴포넌트화 기능 지원
- pom.xml에서 추가(버전은 3.0.5)
- tile-core
- tiles-jsp
- tiles-servlet
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.5</version>
</dependency>
[as-is]
- Servlet-context.xml
- 원래는 아래 코드와 같이 view단을 jsp파일의 경로, 파일형식을 지정해 줬다.
[to-be]
- tiles configurer를 추가
- viewResolver 수정
<beans:bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<beans:property name="definitions">
<beans:value>classpath:tiles/*.xml</beans:value>
</beans:property>
<beans:property name="preparerFactoryClass"
value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
</beans:bean>
<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<beans:property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</beans:bean>
- tilesConfigurer : 스프링의 TilesConfigurer(org.springframework.web.servlet.view.tiles2.TilesConfigurer)로 빈 등록.
- definitions로 정의해 주고 classpath는 tiles 내의 모든 xml파일을 읽어오는 것으로 한다.
- preparerFactoryClass : 타일즈 내 추가기능하는 클래스
- viewResolver: spring dispatcher에서 view단을 표시할 때의 규칙이다. 지금은 tilesView인 Tiles라이브러리 내장 클래스로 등록해 줬다.