Apache Velocity is a free, simple and powerful template engine written in 100% pure Java.
This requires the libraries velocity-1.7.jar, oro-2.0.8.jar, commons-lang-2.4.jar,
commons-collections-3.2.1.jar, commons-logging-1.1.jar, log4j-1.2.12.jar to be in classpath.
The following example shows using Quite Reference notation ($!) in Velocity.
It prints empty space in place of missing variables.
/**
* Initialize engine and get template
*/
VelocityEngine ve = new VelocityEngine();
ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
Template template = ve.getTemplate("quite.vm");
/**
* Prepare context data
*/
VelocityContext context = new VelocityContext();
/**
* Merge data and template
*/
StringWriter swOut = new StringWriter();
template.merge(context, swOut);
System.out.println(swOut);
}
}
It gives the following output,
Tutorials from BE THE CODER (GARUDA$min_version)
Tutorials from BE THE CODER (GARUDA$ {min_version})
Tutorials from BE THE CODER (GARUDA)
Tutorials from BE THE CODER (GARUDA)
Tutorials from BE THE CODER (GARUDA1.0)
Tutorials from BE THE CODER (GARUDA1.0)
Tutorials from BE THE CODER (GARUDA1.0)
Tutorials from BE THE CODER (GARUDA1.0)