2011-12-19 47 views
0

我想問一下在自由標記語言中是否支持面向對象。 如果我有freemarker基礎和派生的ftl; s

Base.ftl 
{ 
@Generalmacro 
{ 
    @derived 
} 
} 

Derived1.ftl include Base.ftl 
{ 
@Generalmacro 

@derived 

} 

Derived2.ftl include Base.ftl 
{ 
@Generalmacro 
@derived 
} 

有選項調用derived1和Derived2的像從每個派生FTL需要定義抽象方法的base.ftl。

回答

0

雖然FreeMarker不支持OOP或任何類型的模板/宏繼承,但您想實現的目標(如果我理解的話)是可能的。您可以調用@generalmacro中未定義的@derived宏,然後在另一個文件中定義@derived,其中#include定義該文件,然後調用@generalmacro。