Groovy-template-engines
Groovy-テンプレートエンジン
Groovyのテンプレートエンジンは、差し込み印刷(多くのアドレスへのメール、特に広告の送信を促進するために、データベースから文字と封筒に名前とアドレスを自動的に追加する)のように動作しますが、はるかに一般的です。
文字列の単純なテンプレート
以下の簡単な例を使用する場合、最初に文字列「Groovy」を保持する名前変数を定義します。 printlnステートメントでは、$記号を使用して、値を挿入できるパラメーターまたはテンプレートを定義しています。
上記のコードをgroovyで実行すると、次の出力が表示されます。 出力は、$ nameがdefステートメントによって割り当てられた値に置き換えられたことを明確に示しています。
シンプルなテンプレートエンジン
次に、テンプレートでJSPのようなスクリプトレットとEL式を使用して、パラメータ化されたテキストを生成できるようにするSimpleTemplateEngineの例を示します。 テンプレートエンジンを使用すると、パラメーターとその値のリストをバインドして、定義済みのプレースホルダーを持つ文字列で置き換えることができます。
上記のコードをgroovyで実行すると、次の出力が表示されます。
XMLファイルにテンプレート機能を使用してみましょう。 最初のステップとして、次のコードをStudent.templateというファイルに追加します。 次のファイルでは、要素の実際の値ではなく、プレースホルダーが追加されていることがわかります。 したがって、$ name、$ is、および$ subjectはすべて、実行時に置き換える必要があるプレースホルダーとして配置されます。
次に、Groovyスクリプトコードを追加して、上記のテンプレートを実際の値に置き換えるために使用できる機能を追加します。 次のコードについては、次のことに注意してください。
- 実際の値へのプレースホルダーのマッピングは、バインディングとSimpleTemplateEngineを介して行われます。 バインディングは、プレースホルダーをキーとして、置換を値として持つマップです。
上記のコードをgroovyで実行すると、次の出力が表示されます。 出力から、関連するプレースホルダーの値が正常に置換されていることがわかります。
StreamingTemplateEngine
StreamingTemplateEngineエンジンは、Groovyで使用できる別のテンプレートエンジンです。 これは、SimpleTemplateEngineと同等ですが、書き込み可能なクロージャーを使用してテンプレートを作成し、大規模なテンプレートに対してよりスケーラブルにします。 具体的には、このテンプレートエンジンは64kを超える文字列を処理できます。
以下は、StreamingTemplateEngineの使用方法の例です-
上記のコードをgroovyで実行すると、次の出力が表示されます。
XMLTemplateEngine
XmlTemplateEngineは、テンプレートソースと期待される出力の両方がXMLであることが意図されているテンプレートシナリオで使用されます。 テンプレートは、通常の$ \ {expression}および$ variable表記を使用して、テンプレートに任意の式を挿入します。
以下は、XMLTemplateEngineの使用方法の例です。
上記のコードをgroovyで実行すると、次の出力が表示されます