在 JSP 页面上,我正在这样做,${records.size}
其中记录是Set
类型的。然后我收到这个错误。我检查了文档和size()
方法在org.hibernate.collection.internal.PersistentSet
. 那么这个错误的可能原因是什么?
问问题
634 次
1 回答
2
语法${records.size}
基本上告诉 EL 打印 bean 标识的size
属性(而不是方法!)${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()}
于 2019-12-23T14:16:20.913 回答