The simplest java code using freemarker template to generate html can be:
config.setAPIBuiltinEnabled(true); line is possibly you're looking for.
import freemarker.cache.ClassTemplateLoader;
import freemarker.core.Environment;
import freemarker.template.Configuration;
import freemarker.template.Template;
// ... other imports
private byte[] createHtmlContent() throws Exception {
Map<String, Object> data = new HashMap<String, Object>();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Writer w = new OutputStreamWriter(baos, StandardCharsets.UTF_8);
Configuration config = new Configuration();
config.setAPIBuiltinEnabled(true);
config.setTemplateLoader(new ClassTemplateLoader(getClass(), "/META-INF/resources/ftl/"));
Template template = config.getTemplate("template.ftl");
Environment env = template.createProcessingEnvironment(data, w);
env.setOutputEncoding("UTF-8");
env.process();
return baos.toByteArray();
}