프리마커란?
정확히 말하자면 Apache FreeMarker로 자바에서 사용되는 템플릿 엔진, 자바 라이브러리이다.
템플릿과 데이터를 기반으로 텍스트 출력을 생성한다.
프리마커의 확장자는 ftl이다. FreeMarker Template File의 줄임말이다.
프리마커 문법은 아래 사이트에서 확인해볼 수 있다.
스프링, 스프링 부트로 프로젝트 진행 시 템플릿 엔진 대신 JSP를 사용할 수 있지만, 더 이상 스프링 부트에서 JSP는 추천되지 않는다. Java EE에 종속적이라는 점이 큰 단점으로 다가오기 때문이다.
예로 인텔리제이 IDE에서는 스프링 부트 프로젝트에서 JSP를 사용하는 경우 패키징을 war로 선택해야 한다. 이클립스에서는 별다른 설정 없이 할 수 있는데 인텔리제이는 따로 설정을 해주어야 한다는 점에서 불편을 느낄 수 있다.
자바에서는 이를 대신해 프리마커가 많이 사용되었다 하고, 요즘은 타임리프를 많이 사용하고 있다.
타임리프는 초보자가 바로 사용하기에는 문법이 어렵게 느껴질 수도 있다.
필자는 Vue.js를 먼저 공부해본 뒤 타임리프를 사용해봤기 때문에 크게 어렵다고 생각되진 않았는데, 만약 Vue.js를 공부하지 않고 바로 타임리프부터 봤다면 이게 뭐지 싶었을 것 같다.
JSTL이나 FreeMarker 같은 경우는 Template과 분리되게 작성하는데, 타임리프는 기존 html 문법과 합체된 느낌이었기 때문에 복잡하게 느껴졌다.
이러한 점에서 프리마커는 타임리프보다 배우기 쉬운 문법이라고 생각된다.
그러나 프리마커에도 단점이 있는데, 템플릿 엔진이라는 거에 비해 많은 기능을 가지고 있기 때문에 무겁다는 것이다.
그리고 뜬금없는 ?? 와 같은 문법을 보면 당혹스럽다..