org.hibernate.collection.internal.PersistentSet'不具有属性'size'

问题描述 投票:0回答:1

在JSP页面上,我正在这样做${records.size}其中记录是Set类型。然后我得到这个错误。我检查了文档,并且size()中提供了org.hibernate.collection.internal.PersistentSet方法。那么此错误的可能原因是什么?

hibernate jsp jstl el
1个回答
0
投票

语法${records.size}基本上告诉EL打印由size标识的bean的${records} 属性(不是方法!)。当EL需要获取属性时,它将在bean后面的类中查找getter方法。因此,当属性名称为size时,则预期的getter方法为getSize()。如果没有此方法,那么您将完全遇到当前遇到的异常。另请参阅javax.el.PropertyNotFoundException: Property 'foo' not found on type com.example.Bean

实际上,org.hibernate.collection.internal.PersistentSet 没有具有getSize()方法。即它确实根本没有size属性。因此,例外是完全正确的。

基本上,您想改为调用size()方法,而不是size属性后面的getter方法。相应地修复您的EL表达式:

${records.size()}
© www.soinside.com 2019 - 2024. All rights reserved.