Requirements
Tiles 를 사용하기 위해 필요한 것들:
- Java SE 5.0 이상의 런타임 환경
- Servlet 2.4 이상 그리고 JSP 2.0 이상을 지원하는 servlet container .
Installation
Tiles 설치하기 : maven 이용
아래의 내용 복사해서 사용할 프로젝트의 pom.xml에 붙여넣기
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>2.2.2</version>
</dependency>
필요한 jar 파일이 자동으로 다운로드 되는 모습 (스프링툴 우하단)
Dependency Hierarchy 탭에서 제대로 다운로드 되었는지 확인한 모습
Usage
아래의 주소를 복사하여 SVN Repository에 등록하기
스프링 툴에 등록된 모습
등록된 tiles-showcase 프로젝트의 tiles-defs.xml 파일 복사
사용할 프로젝트의 같은 위치에 붙여넣기!
tiles-defs.xml 의 내용을 아래처럼 수정
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name=".main" template="/layout/main.jsp">
<put-attribute name="header"
value="/layout/header.jsp" />
<put-attribute name="menu"
value="/index.jsp" />
<put-attribute name="body"
value="/index.jsp" />
<put-attribute name="footer"
value="/layout/footer.jsp" />
</definition>
<definition name=".*.*.*" extends=".main">
<put-attribute name="body"
value="/WEB-INF/views/{1}/{2}/{3}.jsp" />
</definition>
<definition name=".*.*" extends=".main">
<put-attribute name="body"
value="/WEB-INF/views/{1}/{2}.jsp" />
</definition>
<definition name=".*" extends=".main">
<put-attribute name="body"
value="/WEB-INF/views/{1}.jsp" />
</definition>
</tiles-definitions>
사용할 프로젝트의 webapp 폴더에 layout 폴더 만들기
생성한 layout 폴더에 아래의 jsp 파일을 생성
footer.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h1>다리</h1>
header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h1>머리</h1>
main.jsp
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<% String cp = request.getContextPath(); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
.main {
width: 800px;
}
.menu {
position: absolute; width: 300px;
}
.body {
margin-left: 310px;
}
</style>
<title>스프링 프로젝트</title>
</head>
<body>
<div class="main">
<div class="header">
<tiles:insertAttribute name="header" />
</div>
<div class="content">
<div class="menu">
<tiles:insertAttribute name="menu" />
</div>
<div class="body">
<tiles:insertAttribute name="body" />
</div>
</div>
<div class="footer">
<tiles:insertAttribute name="footer" />
</div>
</div>
</body>
</html>
servlet-context.xml 열기
아래의 내용을 servlet-context.xml 의 기존 Resolver 설정 위에 추가
<!-- Tiles 사용을 위한 세팅 -->
<beans:bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<beans:property name="definitions">
<beans:list>
<beans:value>/WEB-INF/tiles-defs.xml</beans:value>
</beans:list>
</beans:property>
<!-- resolving preparer names as Spring bean definition names -->
<beans:property name="preparerFactoryClass"
value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory" />
</beans:bean>
<!-- Tiles 를 위한 ViewResolver 세팅
Controller에서 return ". 으로 시작하면 작동! -->
<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<beans:property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView" />
<beans:property name="order" value="1"></beans:property>
<beans:property name="viewNames" value=".*"></beans:property>
</beans:bean>
기존의 InternalReourceViewResolver 의 order 값 추가
'Dev. 스프링 > 환경세팅' 카테고리의 다른 글
[스프링 팁] spring에서 AOP 활용하기, 환경세팅 (0) | 2012.10.15 |
---|---|
[스프링 팁] Spring에서 파일 업로드를 위한 세팅 (2) | 2012.10.09 |
[스프링 팁] 정적 자원에 직접 접근 허용을 위한 servelt-context.xml 수정하기 (0) | 2012.09.27 |
[스프링 팁] log4j.xml 설정 하기 - 날짜별 로그파일, sql문 로그 기록 남기기 (0) | 2012.09.27 |
[스프링 팁] Spring 시작하기 - Web 연동을 위한 spring template project 생성하기 (2) | 2012.09.26 |