[SPRING/TILES] 49일차 - 웹화면구성 프레임워크(Tiles) :: 소림사의 홍반장!

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시간 뭉개기/강의내용정리 카테고리의 포스트를 톺아봅니다