2017-08-16 80 views

回答

1

<#... />支持大多數核心指令,包括#else。 (不支持那些不支持嵌套內容的應用程序,例如#list#if。)但是,允許<#else /><#elseif ... />實際上是一個傳統錯誤。它們的工作方式與沒有/的工作方式相同,爲了向後兼容,此錯誤在FreeMarker 2.x中不會修復,所以沒有什麼可擔心的。但它們原則上不正確,因爲#else#elseif的嵌套內容(自己的塊)在它們下面,所以它們實際上並沒有在標籤之後立即關閉。相反,它們被下一個<#else ...>/<#elseif ...></#if>隱含關閉。所以<#else />是容忍的,但不是一個很好的風格。

由於編輯器中的縮進,編輯應該知道哪些指令支持嵌套內容。就像指令名是「include」一樣,它就知道該標籤之後不需要縮進。 #assign/#local/#global有點棘手,因爲它們有兩種形式:<#assign x = ...><#assign x>...</#assign>。另外,有時會添加新的指令,所以編輯器還不能識別它們。幸運的是,很少發生,所以這不是一個不可能的情況。

相關問題