web-dev-qa-db-ja.com

JSTL / ELでの単純なforループの表現

JSTL/ELで次のforループ(Javaコンテキスト内))を表す必要があります。

_for (int i = 6; i <= 15; i++) {
  System.out.print(i+"\t");
}
_

次の出力が表示されます。

_6      7      8       9       10       11       12       13       14       15
_

JSTL/ELで同じようにするにはどうすればよいですか?それについて正確な考えはありません。私は次のことを試しています。

_<c:forEach begin="6" end="15" varStatus="loop">
    <c:out value="${loop.count}"/>
</c:forEach>
_

そして、それは明らかに次の出力を表示します。

_1 2 3 4 5 6 7 8 9 10 
_

それは私が欲しいものではありません。 _6_と_15_の間の数値(つまり、指定された範囲の間)を表示する必要があります。私のWebアプリケーションにページングを実装するには、このような概念を組み込む必要があります。 ELを使用してこれを行うことはできますか?


このステートメントの_\t_ System.out.print(i+"\t");は重要ではありません。

21
Tiny

以下はうまくいくはずです:

<c:forEach begin="6" end="15" var="val">
    <c:out value="${val}"/>
</c:forEach>

または次のようにします。

<c:forEach begin="6" end="15" varStatus="loop">
    <c:out value="${loop.current}"/>
</c:forEach>

または次のようにします。

<c:forEach begin="6" end="15" varStatus="loop">
    <c:out value="${loop.index}"/>
</c:forEach>
44
JB Nizet

私は次の解決策を見つけました。

<c:forEach begin="6" end="15" var="i">
    <c:out value="${i}"/>
</c:forEach>

varStatus="loop"属性を削除し、var="i"属性を追加しました。次の出力が生成されます。

6 7 8 9 10 11 12 13 14 15 

まさに私が望んでいたとおりです。アイデアは here から来ました。

4
Tiny