访问 JSP/JSTL/EL 中集合的大小

2022-09-01 10:27:22

我的JSP页面中调用了一个List变量。如果列表中有多个元素,我需要向页面添加一些标记。services

我想做的是...

<c:if test="${services.size() gt 1}">
  <!-- markup... -->
</c:if>

但是你不能在EL中调用Java对象上的方法(我认为这也许是我364823782次后悔这个事实)。您只能通过删除“get”来访问Java对象上的getter,例如,对于具有getName()方法的User类,${user.name}。

评估此测试的正确方法是什么?


答案 1

您正在寻找 .请记住定义 fn 命名空间。fn:length(services)

http://download.oracle.com/javaee/5/tutorial/doc/bnalg.html


答案 2

在 jsp 文件中包含标记库

 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<c:if test="${fn:length(services) gt 1}">
<!-- markup... -->
</c:if>