java - Spring Expression Language - List 上的 Size 属性

标签 java spring expression

我正在尝试使用 Spring EL 在 List 上使用 size 属性,这会抛出无法找到大小的异常。

@Cacheable(value = "cache", unless = "#result.size > 0")
public List<Results> getResult();

异常(exception):

org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 8): Field or property 'size' cannot be found on object of type 'java.util.ArrayList'
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:217)
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:85)
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.access$000(PropertyOrFieldReference.java:43)
        at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue(PropertyOrFieldReference.java:346)
        at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:84)

最佳答案

size 解析为不存在的 List#getSize()。尝试使用 size() 如下:

@Cacheable(value = "cache", unless = "#result.size() > 0")
public List<Results> getResult();

关于java - Spring Expression Language - List 上的 Size 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27015659/

相关文章:

Spring mvc Controller 空指针异常

jquery - 未捕获的异常 : Syntax error, 无法识别的表达式 jQuery

c# - 表达式解析 - 可以将属性名称数组作为字符串获取吗?

javascript - BIRT 报告中的这个 JavaScript 表达式是什么意思?

java - 文件无法正确读取

java - 关闭不可变变量并在多次迭代中累积值作为 lambda 表达式 - Java 8

java - java GC是递归执行的吗?

java - 尝试使用缓冲写入器将文件保存在文档文件夹中不起作用

spring - 当我尝试运行 spring security hello world 示例时,Tomcat 7 服务器无法启动

java - 使用 JUnit 在 Spring 中测试 CRUD 时获取同一行的多个 ID