SPRING

SPRING tiles2

Adev 2022. 11. 16. 05:43

1. Tiles 2 연동을 이용한 레이아웃 템플릿 처리

: 레이아웃이 같고 동일한 내용일 들어가는 영역이 많을 때 템플릿 Library(ex. Tiles)를 사용해 레이아웃을 처리해 View와 관련한 Code 중복을 제거할 수 있다. 

 

 

Tiles2 연동방법

1)  jar 파일 추가

- tiles-api-2.1.x.jar, tiles-core-2.1.x.jar, tiles-jsp-2.1.x.jar
- commons-beanutils.jar, commons-digester.jar, commons-logging.jar
- SPRING webmvc Module


2) spring 설정파일

- TilesConfigurer Class를 이용해 Tiles2 레이아웃 설정파일 명시

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
         <property name="definitions">
         <list>
         <value>/WEB-INF/tiles2def/tilesdef.xml</value>
         </list>
         </property>
         </bean>


- UrlBasedViewResolver Class의 viewClass 프로퍼티를 TilesView로 지정

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


- TilesConfigurer Bean 객체는 definitions 속성을 이용해 Tiles 설정파일 목록을 전달받고, TilesView Class는 컨트롤러가 지정한 View 이름을 갖는 <definition>태그를 사용해 View를 생성한다.

<tiles-definitions>
<definition name="base_layout"
...
</definition>
...
</tiles-definitions>



2. spring Bean을 ViewPreparer로 사용하기

: 모든 View에서 공통으로 사용되는 데이터가 있을 경우 사용한다.
Tiles 설정 파일에는 완전한 Class명을 적는다.

 

 

  • 설정 방법

- TilesConfigurer 설정에 prepareFactoryClass 프로퍼티 설정 추가
- ViewPreparer로 사용할 SPRING 빈 등록
- Tiles 설정 파일의 preparer 속성에 SPRING 빈 이름 등록

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
         <property name="definitions">
         <list>
         <value>/WEB-INF/tiles2def/tilesdef.xml</value>
         </list>
         </property>
         <property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
</bean>
        
         <bean id="menuPreparer" class="madvirus.spring.chap07.tiles2.MenuPreparer"/>
<tiles-definitions>
<definition name="base_layout"
template="/WEB-INF/viewtiles2/template/layout.jsp"
preparer="menuPreparer">
...
</definition>
...
</tiles-definitions>

'SPRING' 카테고리의 다른 글

SPRING Database 연동과 Jdbc 지원  (0) 2022.11.18
HTML 이외의 View 구현  (0) 2022.11.17
SPRING View 영역 구현  (0) 2022.11.14
SPRING Controller Model  (0) 2022.11.13
SPRING View 지정  (0) 2022.11.12