这是我的freemarker模板的一部分:
${order.needByDate?if_exists?date}
我希望它能够如下工作:
needByDate
为空,则不写任何内容以上仅适用于第二种情况。实现这一目标的正确方法是什么?
答案 0 :(得分:12)
这也应该有用
${(order.needByDate?date)!}
括号是必要的
您还可以添加默认值,例如" n / a"像这样
${(order.needByDate?date)!"n/a"}
答案 1 :(得分:2)
可能有一种更聪明的方法可以做到这一点,但以下情况应该可以胜任。
<#if order.needByDate??>${order.needByDate?date}</#if>
答案 2 :(得分:0)
一种考虑空字符串和空字符串值的解决方案:
对于Freemarker version 2.3.23 or newer:
${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>
进行测试