Facelets повторяют Tag Index - PullRequest
       7

Facelets повторяют Tag Index

36 голосов
/ 06 апреля 2011

Кто-нибудь знает, как получить индекс элемента в пользовательском интерфейсе: повторяющийся тег facelets?

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

Ответы [ 2 ]

83 голосов
/ 06 апреля 2011

Укажите значение для атрибута "varStatus":

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

Затем вы можете получить доступ к индексу цикла через EL:

#{myVarStatus.index}

Кроме того, следующие свойства доступны дляvarStatus:

  • начало типа Integer
  • конец типа Integer
  • индекс типа int
  • шаг типа Integer
  • четного типа boolean
  • нечетного типа boolean
  • первого типа boolean
  • последнего типа boolean

Для получения дополнительной информации см .:

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

5 голосов
/ 14 ноября 2016

Ответ Брайана хорош, но я думаю, что он может быть немного более информативным для информации.

Мы создаем пользовательский интерфейс: 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, которые являются вложенными.

Свойство ___ Getter _________ Описание

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. Атрибуты для пользовательского интерфейса: Повторить можно найти здесь .
...