小编典典

使用 JSTL 检查集合大小

all

如何使用 JSTL 检查集合的大小?

就像是:

<c:if test="${companies.size() > 0}">

</c:if>

阅读 67

收藏
2022-05-29

共1个答案

小编典典

<c:if test="${companies.size() > 0}">

</c:if>

此语法仅适用于 EL 2.2 或更新版本(Servlet 3.0 / JSP 2.2 或更新版本)。如果您因为使用 JSPX 或 Facelets 而不是
JSP 而遇到 XML 解析错误,那么请gt使用>.

<c:if test="${companies.size() gt 0}">

</c:if>

如果您实际上面临 EL 解析错误,那么您可能使用的是太旧的 EL 版本。然后你需要
JSTLfn:length()函数。从文档中

length(java.lang.Object) - 返回集合中的项目数,或字符串中的字符数。

将其放在 JSP 页面的顶部以允许fn命名空间:

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

或者,如果您使用的是 JSPX 或 Facelets:

<... xmlns:fn="http://java.sun.com/jsp/jstl/functions">

并在您的页面中使用这样的:

<p>The length of the companies collection is: ${fn:length(companies)}</p>

所以要测试一个集合的长度:

<c:if test="${fn:length(companies) gt 0}">

</c:if>

或者,对于这种特定情况,您也可以简单地使用 ELempty运算符:

<c:if test="${not empty companies}">

</c:if>
2022-05-29