org.hibernate.collection.internal.PersistentSet' 没有属性 'size'



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

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

事实上,org.hibernate.collection.internal.PersistentSet没有getSize()的方法,也就是说,它确实根本没有size属性。所以例外是完全正确的。

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

${records.size()}

相关内容

  • 没有找到相关文章

最新更新