49일차
웹 화면 구성하는 프레임워크
사이트메쉬
프리마커(FreeMarker)
벨로시티(Velocity)
타일즈(Tiles*) 등등..
Tiles 2 버전부터는 다른 프레임워크들과 연동이 가능하다
tiles-defs 세팅
<?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"> <!-- .main으로 시작하기 때문에 Tiles가 실행 -->
<put-attribute name="header" value="/layout/header.jsp" /> <!-- main.jsp파일에 header(template가 main.jsp이기 때문에) -->
<put-attribute name="menu" value="/inc/login.jsp" /> <!-- main.jsp파일에 menu(template가 main.jsp이기 때문에) -->
<put-attribute name="body" value="/index.jsp" /> <!-- main.jsp파일에 body(template가 main.jsp이기 때문에) -->
<!-- <put-attribute name="footer" value="/layout/footer.jsp" /> main.jsp파일에 footer(template가 main.jsp이기 때문에) -->
</definition>
<definition name=".*.*.*" extends=".main">
<put-attribute name="body" value="/WEB-INF/views/{1}/{2}/{3}.jsp" /> <!-- .*.*.*에 1,2,3이 순서대로 들어감 -->
</definition>
<definition name=".*.*" extends=".main">
<put-attribute name="body" value="/WEB-INF/views/{1}/{2}.jsp" /> <!-- .*.*에 1,2이 순서대로 들어감 -->
</definition>
<definition name=".*" extends=".main">
<put-attribute name="body" value="/WEB-INF/views/{1}.jsp" /> <!-- .*에 1이 순서대로 들어감 -->
</definition>
</tiles-definitions>
Controller에서 .main을 리턴하면 tiles-definitions가 작동
main.jsp 에서 tiles taglib 역할
타일즈 단점
하나의 메인에 다른 페이지를 그냥 끼워넣기 한다. 그래서 include 기술 필요
'Dev. 640시간 뭉개기 > 강의내용정리' 카테고리의 다른 글
[WEB/SPRING] 51일차 - 파일 업로드, 다국어처리, validator (0) | 2012.12.03 |
---|---|
[WEB/SPRING] 50일차 - include, 게시판 페이징 기능, 로그인/로그아웃시 원래 화면 그대로 가기, 동적쿼리(dynamic query)만들기 (0) | 2012.12.03 |
[WEB/SPRING] 48일차 - 답변형 게시판 만들기 (8) | 2012.10.05 |
[WEB/SPRING] 47일차 - 회원 로그인 기능 구현, 답변형 게시판 만들기 (0) | 2012.10.05 |
[WEB/SPRING] 46일차 - AbstractWizardFormController을 활용한 회원가입, 로그인 만들기 (0) | 2012.10.05 |