JSTLを使用してマップのサイズを取得する方法はありますか? $ {myMap.size}で試しましたが、機能しません。
JSTL長関数はCollection
で機能しますが、Map
で機能するかどうかはわかりません。試してみる価値があるかもしれません。
解決策を得ました:jstl関数を使用します。
<%@taglib prefix="fn" uri="http://Java.Sun.com/jsp/jstl/functions"%>
次に、次のように使用します。
<c:if test="${fn:length(myMap) > 1 }">
${myMap.size}
eLパーサーによってmyMap.getSize()に変換されるため、機能していません。
試してください:
${myMap.size()}
動作するはずです。
カウントだけを出力しようとしている場合は、fn
タグを使用する必要があります。ただし、マップ内のすべてのアイテムを処理する場合、または使用可能なアイテムの数に基づいて何かを実行する場合は、コアJSTLタグのみを使用してこれを試してください。
<c:if test="${mapVar != null}"/>
<c:forEach var="mapEntry" items="${mapVar}">
<!-- if there is any entry in the map do something -->
</c:forEach>
</c:if>
上記はJavaコードと同等です
if (maVar != null && mapVar.size() >= 1) {
// do something
}
はい、このようなサイズを印刷することはできませんが、存在するアイテムの情報を処理することはできます。
私はこのソリューションを好みました。SunのURLがエラーになり、上記がうまくいったからです。