簡體   English   中英

Freemarker 中的可空日期

[英]Nullable date in Freemarker

這是我的 freemarker 模板的一部分:

${order.needByDate?if_exists?date}

我希望它按以下方式工作:

  • 如果needByDate為空,則什么都不寫
  • 如果不為空,則寫日期部分

以上僅適用於第二種情況。 實現這一目標的正確方法是什么?

這也應該有效

${(order.needByDate?date)!}

括號是必須的

您還可以像這樣添加默認值,例如“n/a”

${(order.needByDate?date)!"n/a"}

可能有更聰明的方法來做到這一點,但以下應該可以完成這項工作。

<#if order.needByDate??>${order.needByDate?date}</#if>

考慮空值和空字符串值的解決方案:

對於Freemarker 2.3.23 或更新版本

${aDateField?has_content?then(aDateField?datetime?string["MM/dd/yyyy hh:mm:ss"],"")}

對於舊版本:

<#if aDateField?has_content>
${aDateField?datetime?string["MM/dd/yyyy hh:mm:ss"]}
</#if>

您可以在https://try.freemarker.apache.org/測試它

暫無
暫無

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

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