SimpleTemplateEngine

2004-03-12

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実装を作成することも可能でしょう。