在代码生成技术里,模板是非常有用的工具。
Groovy对模板提供非常便利的支持,见如下示例:
import java.io.File
import groovy.text.Template
import groovy.text.SimpleTemplateEngine
//定义一个Map
def binding = ["firstname":"Sam", "lastname":"Pullara", "city":"San Francisco", "month":"December", "signed":"Groovy-Dev"]
//实例化模板引擎类
def engine = new SimpleTemplateEngine()
//打开模板文件
def file = new File("letter.template")
//根据模板文件生成模板对象并根据输入数据生成结果
def result= engine.createTemplate(file).make(binding)
//打印结果
println result.toString()
模板文件 letter.template内容如下:
Dear ${firstname} ${lastname},
So nice to meet you in ${city}.
See you in ${month},
${signed}
输出结果是:
Dear Sam Pullara,
So nice to meet you in San Francisco.
See you in December,
Groovy-Dev