2017-03-14 59 views
0

我使用Freemarker模板生成HTML。我此行的幾個模板重複:在多個Freemarker模板中使用常量

<link href="/css/main.css?v=${css_version}" rel="stylesheet"> 

我希望能夠只需一次指定css_version的值,並在我所有的模板中使用它。我怎樣才能做到這一點?

回答

2

可能是這樣的:

Configuration cfg ... 
... 
cfg.setSharedVariable("css_version", "1.2.3"); 

注意,你應該這樣做,您可以設置你的單身Configuration實例,它不是線程安全的後來打電話setSharedVariable。因此,如果css_version必須更改而不重新創建Configuration,那麼只需使用自定義TemplateScalarModel實現來從某個線程安全源中讀取版本號即可,而不是String。 (即,即使實際的共享變量對象未被替換,共享值的值也會隨着時間而改變,只要模板看到它即可)。