Skip to content

Instantly share code, notes, and snippets.

@kmila
Created September 2, 2013 17:45
Show Gist options
  • Save kmila/6415417 to your computer and use it in GitHub Desktop.
Save kmila/6415417 to your computer and use it in GitHub Desktop.
List variables from freemarker file
// implementation-dependant (freemarker 2.3.14)
private List<String> getTemplateVariables(Template freemarkerTemplate) throws IOException, TemplateModelException {
SimpleSequence childNodes = (SimpleSequence) freemarkerTemplate.getRootTreeNode().getChildNodes();
List<String> dollarVariables = new ArrayList<String>();
for (Object object : childNodes.toList()) {
if (object instanceof TemplateElement && ((TemplateElement) object).getCanonicalForm().startsWith("$")) {
dollarVariables.add(((TemplateElement) object).getCanonicalForm());
}
}
return dollarVariables;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment