Существует очень ужасное обходное решение для этого, которое я не рекомендую, но это лучшее, что я мог придумать. Это связано с наличием немного Javascript для отслеживания количества вкладок и внутри каждой вкладки с использованием большего количества Javascript для генерации HTML-кода, который нуждается в индексе вкладок.
На странице <head>
вашей страницы инициализируется счетчик вкладок;
<head>
<script>
// Global tab counter
tabCount = -1;
</script>
</head>
Затем, когда вы рисуете каждую вкладку, увеличивайте счетчик. Внутри вкладки, когда вам нужен индекс вкладки, создайте небольшой скрипт для генерации HTML с индексом. Например:
<p:tabView value="#{bean.entityList}" id="tabView" var="item">
<p:tab title="#{item.name}">
<script>
// Increment the tab counter
tabCount++;
</script>
<!-- Now the tab content -->
The index of this tab is:
<script>
document.write(tabCount);
</script>
</p:tab>
</p:tabView>
Как я уже сказал, это ужасно и заставляет меня вздрагивать всякий раз, когда я вижу это, но это работает.
widgetVar.activeIndex дает текущий индекс – rags
@rags Это ответ, вы должны опубликовать его как ответ. –
спасибо за ответ, но это не ответ. Мне нужно, например, rowIndexVar из datatable. widgetVar.activeIndex дает только текущий индекс. Но я буду использовать индекс во время рендеринга, чтобы сгенерировать что-то еще. – ogok