4

変数名の置換のみを行い(他の機能は必要ありません)、文字ではなく文字列である区切り文字を使用するように構成できる、単純なテンプレートエンジンが必要です。例えば

new Template("Hello {{topic}}")
  .add("topic", "world")
  .render()

「Helloworld」を返す必要があります(Javaコードは変更される可能性がありますが、テンプレート構文に関心があります)

複数文字の区切り文字が必要な理由は、すべての種類の文字を含む可能性のあるいくつかのテンプレートがあり、テンプレート化されたドキュメントのネイティブ言語(html、css、js)がテンプレートエンジンと衝突しないようにするためです。 。

この投稿を読んだ後StringTemplateを使用しようとしましたが、1文字を超える長さの区切り文字をサポートしているかどうかはわかりません(上のコンストラクターSTは文字列ではなく文字区切り文字を受け入れるようです)。

StringTemplatesは複数文字の区切り文字をサポートしていますか?そうでない場合は、上記のテンプレート構文で動作する別の単純なテンプレートエンジンの推奨事項はありますか?

4

2 に答える 2

2

Velocity by Apache は最高のテンプレート エンジンだと思います。動的 HTML の生成 (JSP の代わりに)、XSLT の代わりの XML 生成など、多くのことに使用します。

于 2011-11-27T16:09:13.283 に答える
2

テンプレートで使用されていない Unicode 文字を使用できます。

new ST("Hello «prop»", '«', '»').add("prop", "xxxxxx").render()

于 2012-06-20T19:22:55.523 に答える