웹 개발에 화면단을 구성하기위해
공통으로 쓰이는 영역과 헤더 푸터 사이드 등등…
영역 별로 나눠서 관리하면 훨씬 편하다…
이에 따라 tiles라는 좋은 기술이 있어서 메모한당..
물론 크게 어렵지 않아서 한번만 보고도 쉽게 적용할수 있습니다.^^
1. pom.xml 설정
(dependency 추가)
<properties> <java-version>1.6</java-version> <org.springframework-version>3.1.1.RELEASE</org.springframework-version> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-version> <org.apache.tiles-version>2.2.2</org.apache.tiles-version> </properties> <!-- Tiles --> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> <version>${org.apache.tiles-version}</version> </dependency>
2. servlet-context.xml 설정
(스프링 context 파일 수정 )
(InternalResourceViewResolver사용을 tilesViewResolver으로 변경)
<!-- <beans:bean --> <!-- class="org.springframework.web.servlet.view.InternalResourceViewResolver"> --> <!-- <beans:property name="prefix" value="/WEB-INF/jsp/" /> --> <!-- <beans:property name="suffix" value=".jsp" /> --> <!-- </beans:bean> --> <!-- tilesViewResolver -->
3. tiles.xml 설정
<!--?xml version="1.0" encoding="UTF-8" ?-->
4. controller 추가
@RequestMapping(value="/hello.do") public String handleRequest(Model model) throws Exception { String message = "hello world"; model.addAttribute("message", message); return "hello"; }
5. layout.jsp
(base가 되는 레이아웃 구성)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></pre> <table border="1" cellspacing="2" cellpadding="2" align="center"> <tbody> <tr> <td colspan="2" height="30"></td> </tr> <tr> <td height="250"></td> <td width="350"></td> </tr> <tr> <td colspan="2" height="30"></td> </tr> </tbody> </table> <pre>
6. layout.jsp에 들어갈 파일 생성
header.jsp</pre> <h1>Header</h1> <pre> menu.jsp Menu footer.jsp Copyright @2014 heewooworld hello.jsp ${message}