The template framework in Groovy consists of a TemplateEngine abstract base class that engines must implement and a Template interface that the resulting templates they generate must implement. Included with Groovy is the SimpleTemplateEngine that allows you to use JSP-like scriptlets, script, and EL expressions in your template in order to generate parametrized text. Here is an example of using the system: import groovy.text.Template import groovy.text.SimpleTemplateEnginetext = 'Dear "${firstname} ${lastname}",nSo nice to meet you in <% print city %>.nSee you in ${month},n${signed}'binding = ["firstname":"Sam", "lastname":"Pullara", "city":"San Francisco", "month":"December", "signed":"Groovy-Dev"]engine = new SimpleTemplateEngine() template = engine.createTemplate(text) template.setBinding(binding)result = 'Dear "Sam Pullara",nSo nice to meet you in San Francisco.nSee you in December,nGroovy-Dev'assert result == template.toString() Though its possible to plug in any kind of template engine dialect, we can share the same API to invoke templates. e.g. we could create a Velocity / FreeMarker flavour TemplateEngine implemenation which could reuse GPath and auto-recompile to bytecode. |