一尘不染

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

jsp

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

#{MyBean.somelist.length}

不起作用。


阅读 202

收藏
2020-06-08

共1个答案

一尘不染

是的,由于Java
API创建委员会中的一些天才决定,即使某些类具有size()成员或length属性,但它们将无法实现,getSize()或者getLength()JSF和大多数其他标准都将无法实现,所以您将无法做自己想要的事情。

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

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

在MyBean类中:
public int getSomelistLength(){返回this.somelist.length; }

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

第二:如果您使用的是Facelets(哦,天哪,为什么不使用Facelets!),则可以添加fn命名空间并使用length函数

在JSF页面中:
#{fn:length(MyBean.somelist)}
2020-06-08