gpt4 book ai didi

java - 如何从 Freemarker 将值加载到 Java?

转载 作者:行者123 更新时间:2023-11-30 10:10:39 24 4
gpt4 key购买 nike

我想在第二次生成之前从 Freemarker 获取变量值。这有可能吗?

我有以下 Java 代码:

        Template temp = cfg.getTemplate("template.html");
Map<String, Object> data = new HashMap<>();

RestClient rc = new RestClient();
String id = "";//here i need "my_long_id_from_freemaker" value from Freemaker

String response = rc.somemethod (id);//returns list of items

data.put("items", response );

我的模板:

<#assign my_long_id_from_freemaker = "my_long_id_from_freemaker_value">
<div class="panel-body">
<#list items as item>
<p>${item.name}: ${item.id} <button type="button" id="${item.id}" >Details</button>
</#list>
</div>

在第一次生成页面后,我希望能够更改“my_long_id_from_freemaker”的值并刷新页面,这将启动对我的 java 代码的另一次调用。

最佳答案

由于在处理(执行)模板之前需要模板中的值,因此在解析模板后该值必须已经存在。为此,您可以使用以下内容启动模板:

<#ftl attributes={"my_long_id_from_freemaker": 123}>

然后在 Template 对象上你可以调用:

id = temp.getCustomAttribute("my_long_id_from_freemaker");

关于java - 如何从 Freemarker 将值加载到 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52739116/

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