새로운 프로잭트 프리젠테이션 레이어에 Apache Tiles 를 적용 할 것이냐 OpenSymphony Sitemesh를 사용 할것인가 고민을 좀 했다.
과거에 두가지 모두 사용해본 경험으로는
일단 간편하게 적용하기엔 Sitemesh가 편리했지만 구현 방식에 따른 성능이슈때문에 조금 손이 가더라도 Tiles를 선호했던 것 같다.
잠깐 두개를 비교한 블로그 포스팅을 검색해 보고 Tiles 를 선택 하기로 했다.
전자정부프레임워크에 Tiles 관련 종속 jar를 올려보자.
1. /[프로잭트]/pom.xml
properties 추가
<properties>
<spring.maven.artifact.version>3.0.5.RELEASE</spring.maven.artifact.version>
<org.apache.tiles-version>2.2.2</org.apache.tiles-version>
</properties>
dependency 추가
<!-- Tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>${org.apache.tiles-version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>${org.apache.tiles-version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>${org.apache.tiles-version}</version>
</dependency>
2. Spring 설정에 View Resolver 수정
/[프로잭트]/src/main/webapp/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml 수정
기존 JSTL View 를 2순위로 내리고
Tiles 우선순위를 1로 설정한다.
<!-- Tiles 2 Resolver -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
<property name="order" value="1" />
</bean>
<!-- Tiles 2 Configurer -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/default-layout.xml</value>
</list>
</property>
</bean>
<!--
- This bean configures the 'prefix' and 'suffix' properties of
- InternalResourceViewResolver, which resolves logical view names
- returned by Controllers. For example, a logical view name of "vets"
- will be mapped to "/WEB-INF/jsp/vets.jsp".
-->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="2"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/egovframework/rte/" p:suffix=".jsp"/>
기존 리졸버의 order를 2로 바꾸는 것을 빼먹지 않도록 한다.
3. 프로잭트에 맞는 layouts.xml을 설정한다.
layout 설정은 다음 포스트에.
- 참조 사이트 : http://opensrc.tistory.com/116
'프로그래밍 > spring' 카테고리의 다른 글
@Aspect Annotation을 이용한 로그인 세션 관리 (0) | 2016.04.29 |
---|---|
Spring3에서 Tiles2 설정 (0) | 2016.04.21 |
spring에서 현재의 HttpServletRequest 가져오는 법 (0) | 2016.04.20 |
messageConverter 방법 (0) | 2016.04.20 |
DefaultAnnotationHandlerMapping (0) | 2016.04.20 |