freemarker size判空 为啥出现这个错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker size判空 为啥出现这个错误相关的知识,希望对你有一定的参考价值。
<#if (pager.list?size > 0)>
<div class="pagerBar">
<#-- <#if (pager.list?size > 0)> -->
<#if (pager.list?size > 0)>
<div class="pagerBar">
<#include "/WEB-INF/template/admin/pager.ftl" />
<#-- <#if currentUserAllRights.contains("cj_aa_bb_delete")> -->
<#if currentUserAllRights.contains("cj_aa_bb_delete")>
<#-- <input type="button" class="deleteButton" url="cj_aa_bb!delete.action" value="删 除" disabled hidefocus="true" /> -->
<input type="button" class="deleteButton" url="cj_aa_bb!delete.action" value="删 除" disabled hidefocus="true" />
</#if>
</div>
<#else>
<div class="noRecord">
没有找到任何记录!
</div>
</#if>
</div>
<#else>
<div class="noRecord">
没有找到任何记录!
</div>
</#if>
FreeMarker template error!
Expression pager.list is undefined on line 320, column 7 in WEB-INF/template/admin/agent/cj_aa_bb_list.ftl.
The problematic instruction:
----------
==> if-else [on line 320, column 1 in WEB-INF/template/admin/agent/cj_aa_bb_list.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression pager.list is undefined on line 320, column 7 in WEB-INF/template/admin/agent/cj_task_feedback_list.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
at freemarker.core.BuiltIn$sizeBI._getAsTemplateModel(BuiltIn.java:637)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:111)
at freemarker.core.ParentheticalExpression.isTrue(ParentheticalExpression.java:66)
笨点的方法,你先去<#if pager.list?exists>判空去,如果这个也出错,那就是pager为空造成的了。
至于处理方式,你可以保证pager.list不会为空。也可以在判断长度之前先加空值判断。本回答被提问者和网友采纳
Java中list集合判空
1、如果想判断list是否为空,可以这么判断:
if(null == list || list.size() ==0 ){ //为空的情况 }else{ //不为空的情况 }
2、list.isEmpty() 和 list.size()==0 有啥区别呢
答案:没有区别 。
isEmpty()判断有没有元素,而size()返回有几个元素,
如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。
3、list!=null 跟 ! list.isEmpty()有什么区别?
这就相当与,你要喝水,
前面就是判断是不是连水杯都没有,
后面就是判断水杯里面没有水,
连盛水的东西都没有,
这个水从何而来?
所以一般的判断是
if(list!=null && !list.isEmpty()){
这个里面取list中的值
}else{
做其他处理
}
以上是关于freemarker size判空 为啥出现这个错误的主要内容,如果未能解决你的问题,请参考以下文章