Шаг 1: вставьте файл шаблона в вашу библиотеку JAR с макросом, например, файл foo.ftl
с макросом bar
.
Шаг 2: настройте FreeMarker, чтобы он мог загружать шаблоны из этогоJAR библиотека.Один из способов сделать это - зарегистрировать ClassTemplateLoader
, позвонив по номеру Configuration.setClassForTemplateLoading
или напрямую зарегистрировав ClassTemplateLoader
(см. документацию FreeMarker о загрузке шаблона ).В качестве альтернативы вы можете попытаться использовать URLTemplateLoader
или позвонить Configuration.setServletContextForTemplateLoading
, в зависимости от вашего варианта использования.
Возможно, вам даже придется объединить такой ClassTemplateLoader
/ URLTemplateLoader
с используемым в данный момент загрузчиком шаблонов вЧтобы загрузить шаблоны из нескольких мест (см. MultiTemplateLoader ).
Шаг 3: импортировать файл шаблона макроса в namesapce из основного шаблона с помощью директивы импорта 1021*, например,
<#import "foo.ftl" as foo>
Шаг 4: вызвать макрос через его пространство имен, например,
<@foo.bar />
Готово!