1

我对 Primefaces Accordion 和 TabView 有疑问。当我将带有 2 个或更多选项卡的 TabView 放入 Accordion 面板并第一次打开我的页面时,所有选项卡都会同时显示。然后,当我通过单击其他标题更改选项卡时,一切都恢复正常。

我的结构是:

<p:accordionPanel>
  <p:tab>
   <p:tabView>
     <p:tab id="tab1">
       Content 1 here
     </p:tab>
     <p:tab id="tab2">
       Content 2 here etc.
     </p:tab>
   </p:tabView>
  </p:tab>
<p:accordionPanel>

我尝试使用 activeIndex="0",但这无济于事。

4

1 回答 1

0

您可以activeIndex像这样使用 JSF Accordion 的属性:

<p:accordion id="accordionView" activeIndex="#{myBean.tabIndex}">

并放入你的backing bean a@PostConstructor进行搜索

  public static final String INDEX_PARAM = "index_get_param";

  @Inject
  private transient HttpServletRequest httpReq = null;
  private int tabIndex = 0;
  @PostConstruct
  public void init()
  {

    if (httpReq != null)
    {
      String indexParam = httpReq.getParameter(INDEX_PARAM);
      if (indexParam != null)
      {
        searchTypeParameter = searchTypeParameter.toUpperCase();
        if (indexParam.equals("FIRST")
          tabIndex = 0;
        if (indexParam.equals("SECOND")
          tabIndex = 1;

      }
    }
  }

  public int getTabIndex()
  {
    return tabIndex;
  }

它也适用于p:tabView

于 2017-06-10T13:19:53.857 回答