1

我尝试使用 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>

和标签视图:

<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>

我试图以编程方式做到这一点,但我没有得到最好的结果!

4

1 回答 1

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>

祝你好运!:)

于 2014-02-14T08:12:18.650 回答