일반적으로 웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합져져 HTML문서를 출력하는 소프트웨어입니다.
서버 템플릿 엔진 JSP, FreeMarker 과 클라이언트 템플릿 엔진 React, View 등등 이 있다.
브라우저에서 화면을 생성하는 veiw, react.js 는 서버에서 이미 코드가 벗어난 경우이기 때문에 json 혹은 xml 형식의 데이터만 전달하고 클라이언트에서 조립합니다.
머스테치는 수많은 언어를 지원하는 가장 심플한 템플릿 엔진입니다.
루비, 자바스크립트, 파이썬, PHP, 자바, 펄 Go, ASP 등 현존하는 대부분 언어를 지원하고 있습니다.
플러그인에서 mustache를 설치한다. build.gradle에서 머스테치 스타터 의존성을 등록하고 재시작한다.
머스테치는 인텔리제이 커뮤니티 버전에서 무료로 사용할 수 있다.
{{>layout/footer}}
: 현재 머스타치 파일 기준으로 layout 아래 footer.mustache 파일을 가져온다는 것입니다.
{{#posts}}
: posts라는 List를 순회한다. java의 for문과 동일하게 생각하면 된다.
{{id}}
: List에서 뽑아낸 객체의 필드를 사용한다.
Tymeleaf는 서버사이드 자바 템플릿 엔진의 한 종류이다.
JSP와 달리 Servlet Code로 변환되지 않다는 점이다. 따라서 비즈니스 로직과 분리되어 오로지 View에 집중할 수 있다.