freemarker取list的size

取得list的长度:${fields?size}。

而使用判断其长度的时候,

<#if fields?size>0 >
</#if>

会抛出错,说不是boolean类型,

Java backtrace for programmers:
----------
freemarker.core.NonBooleanException: Error on line 132, column 22 in viewEntity_js.ftl
Expecting a boolean (true/false) expression here
Expression fields?size does not evaluate to true/false
it is an instance of freemarker.template.SimpleNumber
         at freemarker.core.Expression.isTrue(Expression.java:150)

在原来基础上加个刮号就没问题了,或者用gt比较

<#if (fields?size>0) >
</#if>
<#if fields?size gt 0 >
</#if>

写freemarker代码的 大于(>)判断时候要注意 有时候会被解析成<#if>标签的结束 ,所以可以用 gt 比较。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章