2021SC@SDUSC
Groovy 模板引擎实现原理分析
在深入学习了Groovy和认真与java进行比较分析其特点后,我发现了Groovy中我一个比较感兴趣的特点是实现了模板引擎的功能,groovy的SimpleTemplateEngine实现了模板功能,这节博客就让我们在Groovy源码的基础上深入分析一个Groovy是怎么实现模板引擎的。
Groovy使用模板
Template template = new SimpleTemplateEngine().createTemplate(
new StringReader("<% // This is a comment that will be filtered from output %>\n" +
"Hello <%out.println(name);%> !")
);
final StringWriter sw = new StringWriter();
template.make([name:'bloodwolf_china').writeTo(sw);
println sw.toString();
SimpleTemplateEngine类分析
在例子里面是使用了SimpleTemplateEngine实例的createTemplate()方法,我们先来分析一下这个方法(去掉了一些复杂的try语句)。
public Template createTemplate(Reader reader) throws CompilationFailedException,