2011-07-19 15 views
3

私のcontainerには複数のwidgetsが含まれています。JSTL/ELでコレクションの最初の要素を取得するにはどうすればよいですか?

私はそれらをループしてい

widgetcode変数がループの最後のwidgetの値が設定されています。

私が本当に欲しいのは、コレクションの最初のwidgetです。

どのようにしてループなしで取得できますか?

<c:choose> 
    <c:when test="${fn:length(container.widgets) > 0}"> 
     <c:forEach items="${container.widgets}" var="widgetId" varStatus="status"> 
      <c:set var="widgetcode" value="/widget/<c:out value="${widgetId}"/>"/> 
     </c:forEach> 
    </c:when> 
    <c:otherwise> 
     <c:set var="widgetcode" value="/widget/000"/> 
    </c:otherwise> 
</c:choose> 

答えて

8
<c:set var="widgetcode" value="${container.widgets[0]}"/> 
+2

注:インデックス付きのコレクションのためにのみ動作。マップとセットではこの構文を使用できません。 http://stackoverflow.com/q/1000876/557481 – RustyTheBoyRobot

関連する問題