0

ftl 内のいくつかのブロックに名前を付けて、それらを Java 側で取得することは可能ですか? たとえば、間違った構文のようなものかもしれません

#emailSubject[
This is email subject]
#emailMessage
[Email multi-
line message!!
Hi all]

Java側は次のようになります

template.process("template.ftl", resultModelOrSomethingElse);
String emailSubject = resultModelOrSomethingElse.getEmailSubject();
String emailMessag = resultModelOrSomethingElse.getEmailMessage();
4

1 に答える 1

1

すぐに使用できるので、次のことができます。

<#assign emailSubject>This is the email subject</#assign>

<#assign emailMessage>
  This is the email message...
</#assign>

その後:

// Same as template.process, but you will have the Environment:
Environment env = template.createProcessingEnvironment(dataModel, out);
env.process();

// Extract top-level variables:
TemplateModel emailSubject = env.getVariable("emailSubject");
TemplateModel emailMessage = env.getVariable("emailMessage");

(これを頻繁に行う場合は、テンプレートでこれを合理化することをお勧めします。<@emailSubject>This is the email subject</@>「emailSubject」変数名を間違えるとすぐに失敗するため、より簡潔で確実なものになります。)

于 2013-03-20T22:22:18.367 に答える