2016-10-19 30 views
2

我很努力地處理數據被「傳遞」到NetSuite中的高級PDF模板的幾個方面,而事實上沒有「對象瀏覽器」。我所看到的,使用:使用FreeMarker循環NetSuite「對象」

<#list .data_model?keys as key> 
    ${key} = ${.data_model[key]}<br /> 
</#list> 

有數據「對象」:

companyinformation = 
message = 
nsfont = 
preferences = 
record = 
[email protected] = Invoice 
subsidiary = 
[email protected] = Subsidiary 
user = 

反正是有更深入瞭解每個對象以查看其屬性?

回答

0

您可以以同樣的方式轉儲對象的屬性,即遍歷其?keys,因爲它不僅適用於Map -s,而且適用於任何具有命名爲子變量的值。 (好吧,假設FreeMarker配置中的ObjectWrapper就是這樣的,但我們希望它現在可以使用。)

因爲這將是遞歸的,所以您需要使用#macro。儘管如此,請注意無限遞歸(通常,您至少需要最大深度)。

如果FreeMarker至少爲2.3.25,您還可以編寫<#list something as key, value>,這更好,並且支持非字符串鍵。