반응형 freemarker4 [Freemarker] 데이터 모델 메소드 (Data model Methods) 정의 사용자의 자바 객체를 데이터 모델로 사용할 때, 데이터 모델을 위한 메소드를 만들어 제공할 수도 있다. 예를 들어 템플릿을 작성할 때 데이터 모델에 'user_,method()'라는 메소드를 정의해 줄 수 있다. 'user_method()'는 템플릿에서 다음과 같이 사용할 수 있다. ${user_method(“abc”, x)} 이와 같은 사용자 정의 메소드는 TemplateMethodModelEx 인터페이스를 구현함으로써 제공할 수 있다. TemplateMethodModelEx 인터페이스는 다음과 같은 메소드를 가지고 있다. Object exec(java.util.List arguments); 템플릿 언어에서 사용자 정의 메소드를 호출하면, 메소드 이름에 대응되는 TemplateMethodModelEx .. 2019. 8. 8. [Freemarker] Data Model 만들기 (ObjectWrapper, TemplateModel) Freemarker는 자바 객체를 데이터 모델로 사용할 수 있다. 다만 사용자의 자바 객체를 Freemarker 엔진이 해석할 수 있도록 ObjectWrapper 클래스와 Adapter 클래스를 구현해줘야 한다. FreeMarker 엔진은 ObjectWrapper 클래스와 Adapter 클래스를 통해서 자바객체를 트리형태로 해석할 수 있다. ObjectWrapper 사용자의 자바 객체를 위한 ObjectWrapper 클래스를 구현하기 위해서는 ObjectWrapper 인터페이스를 구현해야 한다. ObjectWrapper 인터페이스는 다음과 같은 메소드를 가지고 있다. TemplateModel wrap(Object obj) throws TemplateModelException;wrap() 메소드는 사용자의.. 2019. 8. 6. [Freemarker] 프리마커 템플릿 언어 문법(FTL;Freemarker Template Language) 문법 자바 템플릿 엔진(Java Template Engine)인 프리마커(Freemarker)를 이용해 템플릿을 작성할 때 사용하는 프리마커 템플릿 언어(Freemarker Template Language, FTL)은 다양한 문법과 기능을 제공한다. 이 문법을 잘 알고 있으면 효율적으로 템플릿을 작성할 수 있다. 자세한 문법은 Freemarker 매뉴얼을 참고하도록 하고, 이 포스트에서는 자주 사용하는 Freemarker 문법(Directive)들을 간략하게 요약해보겠다. assign 프리마커 템플릿에서 변수를 사용하고 싶을 때, assign 디렉티브를 사용할 수 있다. this code block assigned 라고 명시하면 그 다음부터 ${name}을 이용하면 "Dave"라는 값이 찍히게 된다. 혹은 과.. 2019. 7. 26. [Freemarker] 프리마커 - 자바 템플릿 엔진(Java Template Engine) 업무에 사용하기 위해서 오픈소스 자바 템플릿엔진(Java Template Engine)을 조사하다가 Freemarker(프리마커)라는 템플릿 엔진을 알게 되었다. 템플릿 엔진(Template Engine)이란? 아파치 프리마커(Apache Freemarker)는 텍스트 형태로 데이터를 출력해주는 자바 템플릿 엔진(Java Template Engine) 라이브러리다. (링크 : https://freemarker.apache.org) 템플릿 엔진(Template Engine)이란 템플릿 양식과 데이터 모델에 입력되어 있는 데이터를 합성하여 문서를 만들어주는 소프트웨어를 말한다. 사용자는 템플릿을 작성하여 템플릿 엔진에 입력한 다음, 데이터 모델을 차례로 템플릿 엔진에 입력하면 데이터 모델에 대응되는 결과 문.. 2019. 7. 25. 이전 1 다음 반응형