1. 程式人生 > >freemarker語法標籤中括號

freemarker語法標籤中括號

1:這個特性從 FreeMarker 2.3.4 版本後才可用。

2:FreeMarker 支援一個替換的語法。就是在 FreeMarker 的指令和註釋中用 [ 和 ] 來代替 <和 > ,例如下面這個例子:
呼叫預定義指令: [#list animals as being]...[/#list]
呼叫自定義指令: [@myMacro /]
註釋: [#-- the comment --]

3:這種替換語法(方括號)和預設語法(尖括號)在一個模板中是相互排斥的。
那就是說,整個模板要麼全部使用替換語法,要麼全部使用預設語法。
如果模板使用了替換語法,那麼如 <#if ...> 這樣的部分就會被算作是靜態文字,而不是 FTL 標籤了。
類似地,如果模板使用預設語法,那麼如 [#if ...] 這樣的也會被算作是靜態文字,而不是 FTL 標籤。

4:2.4 版本中的預設配置將會自動檢測,也就是說第一個 FreeMarker 標籤決定了語法形式

5:設定中括號代替尖括號的屬性tag_syntax=auto_detect
<property name="freemarkerSettings">
<props>
<prop key="tag_syntax">auto_detect</prop>
</props>
</property>