web-dev-qa-db-ja.com

Facelets繰り返しタグインデックス

Ui:repeat faceletsタグで要素のインデックスを取得する方法を知っている人はいますか?

<ui:repeat id="topTenGrd" var="dream" value="#{dreamModifyBean.topDreams}">
    <h:outputText class="dream-title uppercase" value="#{dream.number}. #{dream.title}" />
</ui:repeat>
36
c12

「varStatus」属性の値を指定します。

<ui:repeat id="..." var="..." value="..." varStatus="myVarStatus">

その後、ELを介してループインデックスにアクセスできます。

#{myVarStatus.index}

さらに、varStatusでは次のプロパティを使用できます。

  • 整数型の始まり
  • 整数型の終わり
  • int型のインデックス
  • 整数型のステップ
  • ブール型でも
  • ブール型の奇数
  • ブール型の最初のもの
  • ブール型の最後

詳細については、以下を参照してください。

https://docs.Oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/ui/repeat.html

84
Brian Leathem

ブライアンの答えは良いのですが、情報をもう少し説明できると思います。

UI:Repeatを作成します

<ui:repeat id="repeatOne" var="listofValues" varStatus="myVarStatus"> </ui:repeat>

UI Repeatを使用して、リスト「listofValues」に関連付けた変数の値にアクセスできます。

VarStatusを使用して、異なるタイプの情報を保持する別の変数を作成できます。たとえば、リストで#{myVarStatus.index}を使用してテーブルを作成すると、この情報をリストのインデックスに使用できます。

1。

2。

3。

もちろん、0から始まるように配列を指定すると、それぞれに1を追加しない限りリストも同様に開始します。 #{myVarStatus.index + 1}

これらは、ネストされた2 UI:Repeatを使用する必要がある2D配列でも非常に便利です。

プロパティ___ Getter _________ Description

current     getCurrent()    The item (from the collection) for the current round of iteration
index       getIndex()      The zero-based index for the current round of iteration
count       getCount()      The one-based count for the current round of iteration
first       isFirst()       Flag indicating whether the current round is the first pass through the iteration
last        isLast()        Flag indicating whether the current round is the last pass through the iteration
begin       getBegin()      The value of the begin attribute
end         getEnd()        The value of the end attribute
step        getStep()       The value of the step attribute

リンク付きの追加ドキュメント:

  1. UI:Repeatの属性は here にあります。
6
L1ghtk3ira