web-dev-qa-db-ja.com

JSP / JSTL / ELでコレクションのサイズにアクセスする

JSPページにservicesというリスト変数があります。リストに複数の要素がある場合は、ページにマークアップを追加する必要があります。

私がしたいのは...

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

しかし、Javaオブジェクトでメソッドを呼び出すことはできません(これはおそらく私がその事実を後悔した364823782の時間だと思います)。アクセスできるのはgettersだけです。 on Javaオブジェクトを 'get'をドロップすることによりオブジェクト。例:getName()メソッドを持つUserクラスの$ {user.name}。

このテストを評価する正しい方法は何ですか?

29
Drew Wills

fn:length(services)を探しています。 fn名前空間を定義することを忘れないでください。

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

Jspファイルにタグlibを含める

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

使用する

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