如何在Freemarker中检查给定值是否为数字?

时间:2014-03-19 14:52:39

标签: freemarker

在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>

以上代码对我不起作用。

3 个答案:

答案 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