web-dev-qa-db-ja.com

JSTLでコレクションサイズを確認する

JSTLでコレクションのサイズを確認するにはどうすればいいですか?

何かのようなもの:

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

</c:if>
227
Sergio del Amo

から: http://Java.Sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html

length(Java.lang.Object) - コレクション内の項目数、または文字列内の文字数を返します。

fn名前空間を許可するには、これをページの上部に配置します。

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

そしてあなたのjspページでこのように使います:

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

それで、コレクションの長さでテストするには:

<c:if test="${fn:length(companies) gt 0}">
   <p>It is greater than 0</p>
</c:if>

>はjsp/jsfタグ内では使用できないため、>の代わりにgtを使用することに注意してください。

416
Martlark

以前のコメントで@Joelと@Mark Chorleyが示唆しているように、

${empty companies}

これはnullと空のリスト/コレクション/配列をチェックします。長さはわかりませんが、OPの例を満たしています。あなたがそれを回避することができれば、これはタグライブラリとgtのような地味な構文をインポートするよりもきれいです。

30
Josh

こんな感じで使えます

${fn:length(numList)}
11
user1364215