SimpleTemplateEngine
Groovyでのテンプレート
Groovyのテンプレートフレームワークは、エンジンが必ず実装しなければならないTemplateEngine抽象クラスと、生成されるテンプレートが必ず実装しなければならないTemplateインターフェイスから成り立っています。
Groovyに含まれているSimpleTemplateEngineにより、パラメータ化されたテキストを生成するために、テンプレートの中でJSP風のスクリプトレット、スクリプト、EL式などを使うことができます。以下はその利用例です:
import groovy.text.Template
import groovy.text.SimpleTemplateEngine
text = '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()
どんな種類のテンプレートエンジンの方言でもプラグインすることも可能ですが、テンプレートを呼び出すのには共通のAPIを使うことができます。例えば、 GPathを再利用してバイトコードに自動リコンパイルできる、Velocity / FreeMarker風のTemplateEngine実装を作成することも可能でしょう。