seevaa.net

  • 본문 바로가기
  • 블로그 내 검색
  • 글 분류 목록
  • 최근 글 목록
  • 기타 블로그메뉴
  • about
  • photolog
  • socialpage
  • taglog
  • guestbook
  • admin

JSP - Tiles를 이용한 레이아웃 템플릿 처리

from Application Programing/java/jsp 2011. 3. 4. 18:47 by seevaa Share on Twitter*

컴포지트 뷰(Composite View) 패턴을 구현한 라이브러리 중에서 현재 널리 사용되고 있는 라이브러리는 Tiles 2로서, http://tiles.apache.org/download.html 사이트에서 최신버전을 다운로드 받을 수 있다. 현재 최신버전은 2.2.2이고 자바 5 또는 그 이상 버전에서 동작한다.

  1. 필요한 jar 파일을 WEB-INF/lib 디렉터리에 복사한다.
  2. web.xml에 초기화 코드 추가
  3. Tile 2 설정파일 작성
  4. 레이아웃 템플릿 JSP 파일 작성
  5. 템플릿을 사용하는 JSP 파일 작성

미니 코드

gate.jsp
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<tiles:insertDefinition name="test" />
tiles-test.xml
<?xml version="1.0" encoding="euc-kr" ?>
<!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="test" template="/container.jsp">
		<put-attribute name="title" value="Hello" />
		<put-attribute name="header" value="/header.jsp" />
		<put-attribute name="menu" value="/side.jsp" />
		<put-attribute name="content" value="/content.jsp" />
	</definition>
</tiles-definitions>
web.xml
...
	<servlet>
		<servlet-name>tiles</servlet-name>
		<servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>
		<init-param>
			<param-name>
				org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
			</param-name>
			<param-value>
				/WEB-INF/tiles-test.xml
			</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
...  
</web-app>
container.jsp
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<html>
	<head>
		<title><tiles:getAsString name="title" /></title>
	</head>
	<body>
		<table width="100%" border="1" cellpadding="0" cellspacing="0">
			<tr>
				<td colspan="2"><tiles:insertAttribute name="header" /></td>
			</tr>
			<tr>
				<td valign="top"><tiles:insertAttribute name="menu" /></td>
				<td valign="top"><tiles:insertAttribute name="content" /></td>
			</tr>
		</table>
	</body>
</html>

TilesDispatchServlet을 사용하면 웹 요청 URI와 동일한 이름을 같는 Definition을 바로 클라이언트에 출력할 수 있다. TilesDispatchServlet을 사용하려면 <servlet>태그를 이용해서 TilesDispatchServlet을 web.xml 파일에 등록하고, <servlet-mapping>을 이용해서 TilesDispatchServlet이 처리할 확장자를 설정하면 된다.

web.xml
<servlet>
	<servlet-name>TilesDispatchServlet</servlet-name>
	<servlet-class>
		org.apache.tiles.web.util.TilesDispatchServlet
	</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>TilesDispatchServlet</servlet-name>
	<url-pattern>*.tiles</url-pattern>
</servlet-mapping>

'Application Programing > java/jsp' 카테고리의 다른 글

Spring - view를 결정하기  (1) 2011.04.22
java - ThreadLocal 클래스  (2) 2011.04.12
JNDI  (2) 2011.04.05
,

Categories

  • All (316)
    • Life Style (102)
    • Images (94)
      • Photo (94)
    • Web Standard (11)
      • HTML (0)
      • CSS (4)
      • JavaScript (7)
    • Application Programing (8)
      • java/jsp (8)
    • DataBase (5)
      • Oracle (3)
      • MySQL (0)
    • Programing Tool (2)
      • Eclipse (2)
    • Tistory (50)
      • Skin (22)
    • Fonts (12)
    • Bookmarks (31)

Recent Posts

Recent Comments

Recent Trackbacks

Archive

Links

  • http://wing91.tistory.com
  • http://xylosper.net
  • http://hanrss.co.kr
  • http://poty.cafe24.com
  • http://standardmag.org
  • http://www.raysoda.com/ess
  • http://startuu.net
  • http://cyoonk.com
  • http://trio.co.kr/webrefer/css…
  • http://designsen.net
  • http://tipography.tistory.com
  • http://twitter.com/seevaa_
  • http://tum.seevaa.net
  • http://clip.seevaa.net
subscribe to RSS

T Y T
subscribe to RSS, valid XHTML, CSS
Powered by , Designed by seevaa

  • 처음으로
  • 본문 바로가기
  • 블로그 내 검색
  • 글 분류 목록
  • 최근 글 목록
  • 기타 블로그메뉴
seevaa.net - JSP - Tiles를 이용한 레이아웃 템플릿 처리
작성자 : 쎄바(seevaa)
연락처 : seevaa@seevaa.net

티스토리툴바