0
Map<String, String> model = new HashMap<String, String>();
model.put("A", "1");
model.put("b", "2");
model.put("c", "3");
try{
 content.append(FreeMarkerTemplateUtils.processTemplateIntoString(configuration.getTemplate(ftlName), model));
...

Ftlファイルは次のようになります:

<html><head></head><body>
${model["A"]}

<#list model?keys as prop>
    ${model[prop]}
</#list>
</body>
</html>

ただし、エラーが発生します:

Expression model is undefined on line 6, column 3 in vslEmail.ftl.
The problematic instruction:
----------
==> ${model["A"]} [on line 6, column 1 in vslEmail.ftl]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression model is undefined on line 6, column 3 in vslEmail.ftl.

modellistディレクティブのみを使用してアクセスしようとすると、同じエラーが発生します...助けていただければ幸いです

4

1 に答える 1

1

私のように他の誰かが愚かに困惑している場合は、FTLでこれを行う必要があります:

<html><head></head><body>
${A}
</body>
</html>

または、Aを文字列の代わりにハッシュマップにして、「最上位」のモデルオブジェクトではなく、それをループします。

于 2012-04-20T10:52:17.690 に答える