如何在JSF表达式语言中获得列表的长度?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我如何获得ArrayList使用JSF EL表达式的长度?

#{MyBean.somelist.length}

不起作用。

提问于
用户回答回答于

是的,因为Java API创建委员会中的一些天才决定,即使某些类具有size()成员或length属性,但它们不会实现,getSize()或者getLength()JSF和其他大多数标准要求,你无法做到你想要的。

有几种方法可以做到这一点。

一:向你的Bean添加一个返回长度的函数:

在课堂MyBean:
public int getSomelistLength(){return this.somelist.length; }

在你的JSF页面中:
#{MyBean.somelistLength}

二:如果你使用Facelets,你可以添加fn命名空间并使用长度函数

在JSF页面中:
#{fn:length(MyBean.somelist)}
用户回答回答于

你的意思是size()不是吗?

#{MyBean.somelist.size()}

适用于我(使用带有Jboss EL扩展的JBoss Seam)

扫码关注云+社区