我将这个tabView放到layoutUnit中,我可以在其中添加和删除标签。
当我尝试将带有layoutUnit的布局用于选项卡时,我出现了图形错误。 如何在布局中使用布局? 我可以在添加新标签时优化tabView更新吗?
<p:layoutUnit position="center" resizable="true" styleClass="borderlessTopUnit" >
<p:tabView id="tabViewExt" activeIndex="#{tabViewManagedBean.activeIndex}" styleClass="borderlessUnit" >
<p:ajax event="tabClose" listener="#{tabViewManagedBean.onTabClose}" />
<p:ajax event="tabChange" listener="#{tabViewManagedBean.onTabChange}" />
<c:forEach items="#{tabViewManagedBean.tabs}" var="tab_ext" varStatus="loop_ext" >
<p:tab title="#{tab_ext.title}" closable="#{tab_ext.closable}" >
<f:subview id="tab_ext_#{loop_ext.index}" >
<ui:include src="#{tab_ext.page}" />
</f:subview>
</p:tab>
</c:forEach>
</p:tabView>
</p:layoutUnit>
答案 0 :(得分:0)
布局单元必须具有自己的形式,同时也避免尝试更新布局单元 同样的原因,改为更新它的内容。你应该在标签中嵌套标签。
<p:layout fullPage="true">
<p:layoutUnit position="center">
<h:form>
<p:tabView id="tabViewExt"
activeIndex="#{tabViewManagedBean.activeIndex}"
styleClass="borderlessUnit" >
<p:ajax event="tabClose" listener="#{tabViewManagedBean.onTabClose}" />
<p:ajax event="tabChange" listener="#{tabViewManagedBean.onTabChange}" />
<c:forEach items="#{tabViewManagedBean.tabs}"
var="tab_ext" varStatus="loop_ext" >
<p:tab title="#{tab_ext.title}" closable="#{tab_ext.closable}" >
<f:subview id="tab_ext_#{loop_ext.index}" >
<ui:include src="#{tab_ext.page}" />
</f:subview>
</p:tab>
</c:forEach>
</p:tabView>
</h:form>
</p:layoutUnit>
</p:layout>