Answers:
<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版本太旧了。然后,您将需要JSTL fn: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>
另外,对于这种特定情况,您也可以简单地使用EL empty
运算符:
<c:if test="${not empty companies}">
</c:if>
用于${fn:length(companies) > 0}
检查尺寸。这将返回一个布尔值