首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将值从Freemarker加载到Java中?

如何将值从Freemarker加载到Java中?
EN

Stack Overflow用户
提问于 2018-10-10 19:23:10
回答 1查看 81关注 0票数 2

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

我有以下Java代码:

代码语言:javascript
复制
        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 );

我的模板:

代码语言:javascript
复制
<#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代码的另一次调用的页面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 05:01:10

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

代码语言:javascript
复制
<#ftl attributes={"my_long_id_from_freemaker": 123}>

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

代码语言:javascript
复制
id = temp.getCustomAttribute("my_long_id_from_freemaker");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52739116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档