컴포지트 뷰(Composite View) 패턴을 구현한 라이브러리 중에서 현재 널리 사용되고 있는 라이브러리는 Tiles 2로서,
http://tiles.apache.org/download.html 사이트에서 최신버전을 다운로드 받을 수 있다. 현재 최신버전은 2.2.2이고 자바 5 또는 그 이상 버전에서 동작한다.
- 필요한 jar 파일을 WEB-INF/lib 디렉터리에 복사한다.
- web.xml에 초기화 코드 추가
- Tile 2 설정파일 작성
- 레이아웃 템플릿 JSP 파일 작성
- 템플릿을 사용하는 JSP 파일 작성
미니 코드
gate.jsp
1
2
3
|
<%@ page contentType= "text/html; charset=euc-kr" %> <tiles:insertDefinition name= "test" /> |
tiles-test.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version= "1.0" encoding= "euc-kr" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" <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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
... <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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<%@ page contentType= "text/html; charset=euc-kr" %> <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
1
2
3
4
5
6
7
8
9
10
|
<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> |
이 글은 스프링노트에서 작성되었습니다.
'JSP' 카테고리의 다른 글
정규표현식 공식 및 응용 . (0) | 2012.05.08 |
---|---|
기본JDBC 만들기 (0) | 2012.05.08 |
Propertise 한글 사용 (0) | 2012.05.08 |
POI (0) | 2012.05.08 |
PAGING(sql) (0) | 2012.05.08 |