gpt4 book ai didi

java 将 hashmap 发送到 Freemarker 模板无法正常工作,未定义参数

转载 作者:行者123 更新时间:2023-12-01 15:25:22 26 4
gpt4 key购买 nike

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.

如果我删除仅使用列表指令访问model的尝试,我会得到同样的错误...任何帮助表示赞赏

最佳答案

如果其他人像我一样愚蠢地困惑,你必须在 FTL 中这样做:

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

或者将 A 设为 HashMap 而不是字符串,然后循环遍历它,而不是“顶部”模型对象。

关于java 将 hashmap 发送到 Freemarker 模板无法正常工作,未定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com