如何在freemarker中使用DUMP对象(.ftl)

时间:2016-02-29 14:49:41

标签: freemarker

有没有办法如何转储整个对象并将其写入某处?

像: php中的var_dump() JS中的console.log

我找到了类似list的内容,所以我尝试下面这样的内容:

<#list calculation as c>
${c}
</#list>

但是模板会出错。我赞美任何建议!

1 个答案:

答案 0 :(得分:3)

这取决于您迭代的对象类型。您可以检查变量的数据类型,然后将其输出(参考:http://freemarker.incubator.apache.org/docs/ref_builtins_expert.html#ref_builtin_isType

以下是一些例子:

<#if calculation?is_sequence>
  <#list calculation as c>
    ${c}
  </#list>
<#elseif calculation?is_hash_ex>
  <#list calculation?keys as key>
    ${key} - ${calculation[key]}
  </#list>
<#elseif calculation?is_string>
  ${calculation}
</#if>

有关转储数据的更多示例,请查看https://github.com/ratherblue/freemarker-debugger/blob/master/debugger.ftl