2016-10-19 6 views
2

NetSuiteのAdvanced PDF Templatesにデータが渡され、オブジェクトブラウザが存在しないという事実に対処するのは苦労しています。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

Map-sだけでなく、名前の付いたサブ変数があるため、オブジェクトのプロパティを同じ方法で、つまり?keysを繰り返してダンプできます。 (まあ、FreeMarker設定のObjectWrapperがそうだとしますが、今のところそれが欲しいと思っています)

これは再帰的なので、#macroを使用します。無限再帰に注意してください(通常、少なくとも深さを最大にしたい)。

FreeMarkerが2.3.25以上であれば、<#list something as key, value>と書くこともできます。これはより良いし、ストリング以外のキーもサポートします。