回答:
<c:if test="${companies.size() > 0}">
</c:if>
この構文は、EL 2.2以降(Servlet 3.0 / JSP 2.2以降)でのみ機能します。JSPの代わりにJSPXまたはFaceletsを使用しているためにXML解析エラーが発生した場合は、のgt
代わりにを使用してください>
。
<c:if test="${companies.size() gt 0}">
</c:if>
EL解析エラーが実際に発生している場合は、おそらく古いバージョンのELを使用しています。fn:length()
次に、JSTL 関数が必要になります。ドキュメントから:
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>