我正在尝试使用 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/