Freemarker中的空日期

问题描述 投票:6回答:3

这是我的自由标记模板的一部分:

$ {order.needByDate?if_exists?date}

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

  • 如果needByDate为空,则什么也不写
  • 如果不为空,则写上日期部分

以上仅在第二种情况下有效。实现此目的的正确方法是什么?

java freemarker
3个回答
2
投票

也许有更聪明的方法可以做到这一点,但是以下应该可以完成。

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

14
投票

这也应该起作用

${(order.needByDate?date)!}

需要括号

您还可以像这样添加默认值,例如“ n / a”

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

0
投票

考虑空字符串和空字符串值的解决方案:

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

requires Freemarker version 2.3.23 or newer

您可以在https://try.freemarker.apache.org/进行测试

© www.soinside.com 2019 - 2024. All rights reserved.