您的位置:首页 > 其它

FreeMarker has_content等价于StringUtils.isNotNullOrEmpty

2016-12-21 10:59 411 查看

has_content

It is
true
if the variable exists (and isn't Java
null
) and is not "empty", otherwise it is
false
. The meaning of "empty" depends on the concrete case. This follows intuitive common-sense ideas. The following are empty: a string with 0 length, a markup output value with 0 length markup, a sequence or hash with no sub variables, a collection which has passed the last element. If the value is not of any of these types, then it counts as non-empty if it's a number or a date or a boolean (e.g.
0
and
false
are not empty), otherwise it counts as empty. Note that when your data-model implements multiple template model interfaces you may get unexpected results. However, when in doubt you can use always use
expr!?size > 0
or
expr!?length > 0
instead of
expr?has_content
.

This buit-in is exceptional in that you can use the parentheses trick like with the default value operator. That is, you can write both
product.color?has_content
and
(product.color)?has_content
. The first doesn't handle the case when
product
is missing, the last does.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: