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 比較。

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