Java Web アプリで StringTemplate を使用して HTML メールを生成しようとしています。改行を入力しようとするとき、私はこれを使用します\<br\>
これは機能していないようです。 \<b\>
も機能していません。これが問題かどうかをテストできるように、区切り文字として < と > をオフにする方法はありますか? StringTemplate のドキュメント全体で、 $...$ を区切り文字として使用するように指示されていますが、 <...> を使用しない方法については言及されていません。
3 に答える
グループを作成するときは、次を使用して区切り文字を設定できます
STGroup group = new STGroupDir("emails", '$','$');
「$」と「$」は区切り文字です。
テンプレート グループ ファイル (.stg) の先頭に、以下を配置できます。
delimiters "$", "$"
...または任意の区切り文字。詳細については、 https ://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax をご覧ください。
Lumpy は間違いなく質問に正しく答えましたが、彼は私が抱えていた問題を修正しなかったので、将来の読者のためにここに私の解決策を追加すると思いました.
x.st
でファイルを作成STGroupDir
し、プログラムにロードしてある時点でレンダリングする場合でも、次のようにそのファイル内で構文を定義する必要があります ( 内で行うのと同じようにSTGroupFile
)。
x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"
構文はファイルと同じ名前にする必要があることに注意してください (.st
もちろん、拡張子は除きます)。
テンプレートに大量の引用符がある場合、ファイルの先頭にテンプレートの宣言を含めたくない場合、または非常に長いテンプレートが必要な場合、これは不便です。そのような場合は、 を使用する必要がありますSTRawGroupDir
。欠点は、テンプレート ファイルの先頭に、渡す必要のあるすべての変数を指定する中心的な場所がないことです。