在freemarker中,我有一个宏PrimeNG
执行以下操作:
myfunc
所以,基本上,如果<#macro myfunc x>
<#attempt>
<#assign x=(x?number)>
<#recover>
</#attempt>
${x!''}
</#macro>
(以字符串开头)并且可以转换为数字,那么我想将其包装在x
中,否则只显示该值。
除了随附的丑陋(${x})
错误记录外,我对此解决方案没问题。
似乎没有一种简单的方法来检查字符串是否可以转换为不使用<#attempt>
的数字,或者我的研究步履蹒跚 - 我也不想在Java方面这样做,因为我看到这是视图代码,不属于我的模型代码。有人知道吗?
答案 0 :(得分:1)
您可以使用正则表达式:
<#if x?matches("\\d+")>
// do something with x?number
<#else>
// do something with x
</#if>