在freemarker中,如何确定特定值是否为数字。是否有任何具体的方法来检查给定值是否为freemarker中的数字?
<#if (link_data.canonical)!?matches(".*/sites/.*") && (pageData.ar.gP)?has_content >
<#if (pageData.ar.gP)?is_number >
<link rel="author" href="https://plus.google.com/${(pageData.ar.gP)!}" />
<#else>
<link rel="ar" href="https://plus.google.com/+${(pageData.ar.gP)!}" />
</#if>
</#if>
以上代码对我不起作用。
答案 0 :(得分:6)
是的,Freemarker有一些内置插件。您可以执行id?is_number
或?is_string
或?is_boolean
等
来源:http://freemarker.org/docs/ref_builtins_expert.html#ref_builtin_isType
答案 1 :(得分:0)
尝试id?is_number?c或?is_string?c或?is_boolean?c
最后添加?c
答案 2 :(得分:0)
您可以使用此功能检查数字是否为整数:
<#assign test = 2>
${isInteger(test)?c}
<#function isInteger number>
<#return number?floor == number>
</#function>
返回true