1
我與Freemarker的Java項目中工作。 我已經定義了一個自定義指令,因爲@mycustomdirective嵌套指令參數的Freemarker
這個自定義指令是否支持其他指令作爲參數?
即:
< @mycustomdirective參數= 「< @othercustomdirective參數2 =」 ... 「/>」/>
感謝建議。
我與Freemarker的Java項目中工作。 我已經定義了一個自定義指令,因爲@mycustomdirective嵌套指令參數的Freemarker
這個自定義指令是否支持其他指令作爲參數?
即:
< @mycustomdirective參數= 「< @othercustomdirective參數2 =」 ... 「/>」/>
感謝建議。
它不支持;你只能叫#function
-s和方法的表達式中(無論是參數值或別的東西)。
這實際上具有一個原因:指令意在輸出標記,並假定功能/方法來生成純文本(或數字,布爾值,等等)。因此,當你與${exp}
插入表情,這是受到自動轉義(通過#escape
ATM ...所以它是「半自動化」),而指令呼叫不是,所以區別是很重要的。參數值表達,所以,他們的意思是無標記的,當然,雖然可以插入非標記到標記(通過逸出),相反的是根本不可能的。
但是,如果你真的想繞過表達式指令輸出,有黑客:
<#assign captured><@myotherdirective /></#assign>
<@mydirective parameter=captured />
謝謝!非常清楚 :) –