2012-11-21 71 views
0

在freemarker模板語言中,我可以通過使用如variable?existsvariable??這樣的結構來測試變量是否存在。我也可以通過分配給它而使先前不存在的變量存在,例如<#assign variable = "hi" />。但是,我怎樣才能讓以前存在的變量不再存在?是否可以在freemarker中取消定義一個變量?

我有一些其他的傢伙的freemarker模板,在不同點測試某些變量的(非)存在的邏輯。在我的用例中,如果我可以在一個點上存在一個變量,然後在包含他的模板時變爲undefined,然後在稍後再次分配它,那將是最簡單的。另一種方法是更重要地重構事物。

回答

1

不,這裏沒有指示堡壘。也許可以通過自定義指令(TemplateDirectiveModel)實現,然後通過Environmentnull寫入變量。 (除非Environment API檢查null-s ...)

相關問題