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

标签 java jsp jsf jstl el

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

#{MyBean.somelist.length}

不工作。

最佳答案

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

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

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

In class MyBean:
public int getSomelistLength() { return this.somelist.length; }

In your JSF page:
#{MyBean.somelistLength}

二:如果你正在使用 Facelets(哦,天哪,你为什么不使用 Facelets!),你可以添加 fn 命名空间并使用长度函数

In JSF page:
#{ fn:length(MyBean.somelist) }

关于java - 在 JSF 表达式语言中如何获取列表的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206161/

相关文章:

java - 使用 JSP 作为 View 引擎注销的 Spring Boot 安全性不起作用

java - CANNOT_FIND_FACELET_TAGLIB 对于 xmlns :jsf ="http://xmlns.jcp.org/jsf"

java - 什么时候将 object 设置为 null 比较好。 (JSF)。

Java 扩展一般指定的类型

java - Eclipse:将环境变量用于外部 jar 位置

java - 在 WebSphere 6 上使用可变文件名在 JSP 中包含静态文件

spring - 如何在 Spring Boot 应用程序中预编译 jsp?

javascript - 页面重新加载后 PrimeFaces ViewExpiredException

java - 使用流通过自定义比较器收集到 TreeSet

java - 为什么在Controller注解中使用@Component