ftl不存在为真_FreeMarker 处理不存在的变量
FreeMarker不能容忍引用不存在的變量,除非明確地告訴它當變量不存在時如何處理。這里介紹兩種典型的處理方法.
一個不存在的變量和一個是null的變量,對于FreeMarker來說是一樣的。
處理方法一:
不論在哪里引用變量,都可以指定一個默認值來避免變量丟失這種情況,通過在變量名后面跟著一個!和默認值。就像下面的例子,當user從數據模型中丟失時,模板將會將user的值表示為字符串”Anonymous”。(若user并沒有丟失,那么模板就會表現出”Anonymous”不存在一樣):
Welcome ${user!"Anonymous"}!
處理方法二:
當然也可以在變量名后面通過放置??來詢問FreeMarker一個變量是否存在。將它和if指令合并,那么如果user變量不存在的話將會忽略整個問候代碼段:
Welcome ${user}!
#if>關于多級訪問的變量,比如animals.python.price,書寫代碼:animals.python.price!0,僅當animals.python存在而僅僅最后一個子變量price可能不存在(這種情況下我們假設價格是0)。如果animals或者python不存在,那么模板處理過程將會以“未定義的變量”錯誤而停止。為了防止這種情況的發生,可以這樣來書寫代碼(animals.python.price)!0。這種情況下當animals或python不存在時表達式的結果仍然是0。對于??也是同樣用來的處理這種邏輯的:animals.python.price??對比(animals.python.price)??來看。
總結
以上是生活随笔為你收集整理的ftl不存在为真_FreeMarker 处理不存在的变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java合并整形_Java:合并Inpu
- 下一篇: guid主分区表损坏怎么办_轻钢龙骨隔墙