p:tabView tabIndex访问

时间:2012-04-05 11:36:11

标签: jsf-2 primefaces tabview

我有一个如下代码。

<p:tabView value="#{bean.entityList}" id="tabView" var="item">
     <p:tab title="#{item.name}">
     .
     .
     .
     </p:tab>
</p:tabView>

我想访问选项卡的索引,就像datatable的rowIndexVar一样。我怎样才能获得标签索引?

1 个答案:

答案 0 :(得分:1)

有一个非常可怕的解决方法,我不建议,但这是我能想到的最好的。它涉及使用一些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>

正如我所说的那样,它很糟糕,每当我看到它时都会让我畏缩,但它确实有效。