我想在第二次生成变量之前从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代码的另一次调用的页面。
发布于 2018-10-11 05:01:10
由于在处理(执行)模板之前需要模板中的值,因此在解析模板之后,该值必须已经存在。为此,您可以使用以下命令启动模板:
<#ftl attributes={"my_long_id_from_freemaker": 123}>
然后在Template
对象上,您可以调用:
id = temp.getCustomAttribute("my_long_id_from_freemaker");
https://stackoverflow.com/questions/52739116
复制相似问题