카테고리 없음

전자정부프레임워크에 Apache tiles 적용하기 - #2 layout 설정

빤따스뤽 2013. 6. 27. 01:48

앞에서 진행 한대로

tiles dependency 와

resolver 설정이 완료 되었으면

서버를 리부팅 해본다. 에러가 없이 올라가면 OK

 

이어서 실제 tiles 레이아웃을 잡아 보자.

1. layout 설정파일 생성

/[프로잭트]/src/main/webapp/WEB-INF/tiles/default-layout.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="layouts-tiles" template="/WEB-INF/jsp/egovframework/common/default-layouts.jsp">
  <put-attribute name="header"    value="/WEB-INF/jsp/egovframework/common/default-header.jsp" />
  <put-attribute name="content"   value="" />
  <put-attribute name="footer"    value="/WEB-INF/jsp/egovframework/common/default-footer.jsp" />
 </definition>
 
 <definition name="*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/egovframework/crmo/{1}.jsp" />
 </definition>

 <definition name="*/*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/egovframework/crmo/{1}/{2}.jsp" />
 </definition>

 <definition name="*/*/*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/egovframework/crmo/{1}/{2}/{3}.jsp" />
 </definition>

</tiles-definitions>

tiles 2에서 부터 와일드 카드를 지원 하는 것 같다.

와일드 카드를 지원 하기 전에는 매 화면 마다 definition을 해줘야 했던 거로 기억이..

 

2. default-layout.jsp 만들기

기본 타일즈 레이아웃이 되는 파일이다.

위에서 지정한 대로

/WEB-INF/jsp/egovframework/common/default-layouts.jsp

에 생성한다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles"  prefix="tiles"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <tiles:insertAttribute name="header"/>
 </head>
 <body>
  <t:insertAttribute name="contents"/>
  <t:insertAttribute name="footer"/>
 </body>
</html>

3. header 파일을 만든다.

/WEB-INF/jsp/egovframework/common/default-header.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>

 

4. footer 파일을 만든다.

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

5. controller 에서 리턴한 경로대로 jsp 파일을 만든다.