타임리프
타임리프는 모던한 서버사이드 자바 템플릿 엔진이다.
Spring boot에서 밀어주는 가장 유명한 템플릿 엔진임!
타임리프의 특징은 elegant하고 natural한 템플릿이다.
- Html을 지양한다. 그래서 static prototypes으로도 동작한다
타임리프만의 특징, 강점
-
HTML5 웹 표준을 준수하는 템플릿
-
전체적인 문법이 HTML5 마크업 표준을 최대한 해치지 않게끔 설계
-
Decoupled logic: 템플릿 문법을 아예 템플릿에서 분리가 가능하다
- 순수한 마크업만 남음-> 템플릿 엔진이 작동하지 않아도 렌더링되는 정적 목업 페이지이다.
- 디자이너가 이해하기 쉬운 코드이다.
템플릿 문법 적용 방법(간단히 3가지)
-
"th:" 태그를 사용한다
-
"data-th-" attribute를 쓰는 방법
-
decoupled logic
Expressions(표현식들)
-
Variable Expressions: ${...}
-
Selection Variable Expressions: *{...}
-
Message Expression: #{..}
-
Link URL Expressions: @{...}
-
Fragment Expressions: ~{...}
Literals
- Text literals : 'one text', 'Another one! ',...
- Number literals: 0,34,3.0,12.3,...
- Boolean literals: true ,false
- Null literal
- Literal token
Text Operations
- String Conntections : + 를 이용해서 사용
- Literal substitutions: |The name is ${naem}|
Arithmetic operations
- Binary operators: +,-,*,/,%
- Minus sign (unary operator): -
앨비스 오퍼레이터도 지원한다.
프리마커
Apache Freemarker
아파치 재단에서 만든 오픈소스 자바 템플릿엔진
- FreeMarker Template Language(FTL)을 사용
Apache Freemarker장점
오랫동안 실무에서 보편적으로 널리 사용된 템플릿 엔진
- 강력한 템플릿 문법을 지원: 복잡한 동작을 수행 가능
- 경량: 외부 의존성을 갖지 않음
- 국제화 대응 가능
- XML 처리 가능
스프링 부트에서 프리마커 사용하기
- 스프링부트 프리마커 의존성 추가
- 템플릿 파일 작성
- .ftlh: html 베이스의템플릿
- .ftlx: xml 베이스의 템플릿
Freemarker 기능
TYPE을 지원한다
프리마커의 구조는 대략 이렇게 구성이 되어 있다.
템플릿 문법들에 대한 내용들이다