22/05/26 뷰, 뷰 템플릿

김석진·2022년 5월 29일
0

타임리프

타임리프는 모던한 서버사이드 자바 템플릿 엔진이다.
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을 지원한다


프리마커의 구조는 대략 이렇게 구성이 되어 있다.

템플릿 문법들에 대한 내용들이다

profile
주니어 개발자 되고싶어요

0개의 댓글