簡體   English   中英

Apache Freemarker - 如何使用 Java 代碼比較參數值

[英]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.executeparams參數中獲取它。 如果你想要像<@accNoJson/>這樣的東西(有點奇怪),那么你可以使用env.getVariable("accNo")來獲得它,其中envTemplateDirectiveModel.execute的第一個參數。

最典型的方法是${accNoJson(accNo)} ,在這種情況下,您應該實施TemplateMethodModelEx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM