Posts [Apache Tiles] Apache Tiles
Post
Cancel

[Apache Tiles] Apache Tiles

Apache Tiles란?

  • 중복된 코드를 제거하기 위한 Apache에서 제공하는 오픈소스
  • 자바 어플리케이션을 위한 무료 오픈 소스 templating framework
  • MVC구조와 함께 할 수 있는 쉽고 가장 우아한 복잡한 웹사이트를 위한 방법
  • runtime시에 page조각들을 구성해서 하나의 완성된 페이지를 내게됨
  • 전체 application이 일관성 있는 look and feel을 가질 수 있음
    스크린샷 2020-03-31 오후 4 30 18

Apache Tiles의 필요성

  • 웹사이트가 500개 이상의 동적,정적 뷰가 존재 할시 Tiles프레임워크를 사용 할 수 있다.
  • 기본적인 틀(template)을 디자인하고 틀에 컨텐트들을 넣는 구조
  • 만약 layout변경사항시 layout에 관계된 페이지의 내용만 변경 하면 된다.
    스크린샷 2020-03-31 오후 4 24 34

  • 이런 템플릿을 만들어주면 실제로 rendering할때 동적인 부분이 주입이 되어서 하나의 페이지가 그려지게 되어있음

Tiles의 개념 및 용어

1) Page Template
스크린샷 2020-03-31 오후 4 31 21

2) Tiles Definition
스크린샷 2020-03-31 오후 4 34 34

  • 하나의 웹페이지를 정의하는데 템플릿과 각각의 attribute를 정의 해줌
  • definition에 정의된 내용들을 바탕으로 하나의 웹페이지를 만들어줄 수 있음
  • attribute를 확장하여 상속이라는 개념을 활용할 수 있음

Tiles의 사용법

1) pom.xml에 tiles 라이브러리 추가
스크린샷 2020-03-31 오후 4 39 34

2) Spring 설정
스크린샷 2020-03-31 오후 4 41 30

  • 기존의 InternalResourceViewResolver를 지우고 TilesViewResolver를 추가
  • TilesConofigurer bean추가
  • TilesViewResolver : logical view name을 tiles definition과 매핑시켜주는 역할
  • TilesConofigurer:definition을 정의해주는 부분

3) Template에 관련된 layout정의
스크린샷 2020-03-31 오후 4 45 59

4) 각각의 웹페이지마다 definition 정의
스크린샷 2020-03-31 오후 4 47 18

  • home은 base라는 definition을 그대로 상속을 받아서 title , content를 재정의
This post is licensed under CC BY 4.0 by the author.