2011-01-20 17 views
6

Tüm freemarker şablonlarına ait değişkenleri dökmeyi deniyorum. Ben .vars ancak ben ne çalışıyorum göstermek için yukarıdaki kullanıyorum tuşları işlevi desteklemez belgelerinde okumakFreemarker'daki tüm değerlerin dökümü.

<#list .vars?keys as prop> 
${prop} = ${.vars.get(prop)} 

</#list>

: Ben böyle bir şey kullanmak çalışılıyor yapmak.

Bu Freemarker ile yaptığım ilk günümdür, bu yüzden herhangi bir tavsiye harika olacaktır.

+0

[bu] bir göz (http://stackoverflow.com/a/19039195 atın verir

<#assign someVar = 12> <#list .main?keys as var> ${var} </#list> 

/355438) yanıt – Lu55

cevap

4

Şablondaki tüm değişkenleri listeleyebileceğinizi düşünmüyorum. Bunları can't Java'da listelediğini biliyorum.

FreeMarker çok iyi documented. special variables in FreeMarker üzerindeki bölüme bakın. Teselli ise, yerel değişkenleri erişebilir

,

someVar 
+0

Teşekkürler, Andy. Environment.getKnownVariableNames() öğesini buldum, ancak ne istediğimi yapıp yapamayacağımı bilmiyorum ve çevreyi nasıl elde edeceğimi anlayamıyorum: -P –

+0

Ben de buna baktım, ama bunu buldum beklediğim gibi işlev yapmaz. Sahip olduğum bir teori, belki de Freemarker'ın data_model'deki değişkenlerin bir listesini içermemesiydi, çünkü çalışma zamanında bunları bir get yönteminden almak için yansımaları deniyordu. Ancak, bunu doğrulamak için freemarker kodunu yeterince bilmiyorum. – Andy

+0

Teşekkürler Andy, bu tür anahtarların değerlerinin nasıl çıkacağını merak ettim. içinde (dönem). Freemarker, sağ tarafını değerlendirmeye çalışıyordu. bazı nesnelerin bir özelliği olarak. .data_model özel değişkenini kullanarak bunu başarabildim. – jatanp