[英]Apache Freemarker - How to use Java code to compare value of a parameter
我有一個 json 模板如下
{
"Account_Number" : "${accNo}"
}
我想使用基本上是 Java 代碼的用戶定義指令來檢查 accNo 是否大於 0。如果不是,我想將值設置為 0000。
我在這里閱讀 ( https://freemarker.apache.org/docs/pgui_datamodel_directive.html ) 可以通過實現 TemplateDirectiveModel 接口來編寫 Java 代碼。 但是,我無法檢索 accNo 的值。
是否可以使用用戶定義的指令實現上述目標? 如果是,如何?
你想要類似<@accNoJson value=accNo />
的東西,然后你可以從TemplateDirectiveModel.execute
的params
參數中獲取它。 如果你想要像<@accNoJson/>
這樣的東西(有點奇怪),那么你可以使用env.getVariable("accNo")
來獲得它,其中env
是TemplateDirectiveModel.execute
的第一個參數。
最典型的方法是${accNoJson(accNo)}
,在這種情況下,您應該實施TemplateMethodModelEx
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.