如何使用包含PrimeFaces的动态制表符

时间:2013-09-26 15:02:02

标签: jsf jsf-2 primefaces tabview commandlink

我尝试使用ui:include动态添加标签,但我无法获得良好的行为! 如果我查看HTML响应,内容就在那里,但不会出现在选项卡中 如果我尝试打开带有其他内容的第二个标签,则html结果包含与第一个标签相同的内容。

使用以下命令添加选项卡:

<p:commandLink id="appC1" update=":tabview" actionListener="#{tview.sideBarAction}"
value="App 1">
    <f:param id="c1ParamId" name="pageViewId" value="App1" />
</p:commandLink>

和tabview:

<p:tabView id="tabview" value="#{tview.tabs}" var="tab">
<p:tab title="#{tab.title}" closable="true">
    <p:panel id="myPanel">
    <ui:include src="#{tab.content}"/>
    </p:panel>
</p:tab>
</p:tabView>

我尝试以编程方式执行此操作,但我没有获得最佳结果!

1 个答案:

答案 0 :(得分:1)

尝试c:forEach,就像那样:

<p:tabView id="tabPanel" activeIndex="#{tabView.activeIndex}"
                       style="width: 100%; height: 100% !important;">
                <p:ajax event="tabClose" listener="#{tabView.onTabClose}"/>
                <p:ajax event="tabChange" listener="#{tabView.onTabChange}"/>
    <c:forEach items="#{tabView.tabs}" var="tab">
          <p:tab titletip="#{tab.id}" title="#{tab.label}" closable="true">
              <ui:include src="#{tab.url}"/>
          </p:tab>
    </c:forEach>

</p:tabView>
祝你好运! :)