Apache Tiles란?
- 중복된 코드를 제거하기 위한 Apache에서 제공하는 오픈소스
- 자바 어플리케이션을 위한 무료 오픈 소스 templating framework
- MVC구조와 함께 할 수 있는 쉽고 가장 우아한 복잡한 웹사이트를 위한 방법
- runtime시에 page조각들을 구성해서 하나의 완성된 페이지를 내게됨
- 전체 application이 일관성 있는 look and feel을 가질 수 있음
Apache Tiles의 필요성
- 웹사이트가 500개 이상의 동적,정적 뷰가 존재 할시 Tiles프레임워크를 사용 할 수 있다.
- 기본적인 틀(template)을 디자인하고 틀에 컨텐트들을 넣는 구조
만약 layout변경사항시 layout에 관계된 페이지의 내용만 변경 하면 된다.
- 이런 템플릿을 만들어주면 실제로 rendering할때 동적인 부분이 주입이 되어서 하나의 페이지가 그려지게 되어있음
Tiles의 개념 및 용어
1) Page Template
2) Tiles Definition
- 하나의 웹페이지를 정의하는데 템플릿과 각각의 attribute를 정의 해줌
- definition에 정의된 내용들을 바탕으로 하나의 웹페이지를 만들어줄 수 있음
- attribute를 확장하여 상속이라는 개념을 활용할 수 있음
Tiles의 사용법
1) pom.xml에 tiles 라이브러리 추가
2) Spring 설정
- 기존의 InternalResourceViewResolver를 지우고 TilesViewResolver를 추가
- TilesConofigurer bean추가
- TilesViewResolver : logical view name을 tiles definition과 매핑시켜주는 역할
- TilesConofigurer:definition을 정의해주는 부분
3) Template에 관련된 layout정의
4) 각각의 웹페이지마다 definition 정의
- home은 base라는 definition을 그대로 상속을 받아서 title , content를 재정의