2014-11-21 190 views
0

我有这个tabView到layoutUnit,我可以添加和删除标签dinamically。布局到选项卡TabView

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

布局单元必须有它自己的形式代替,也避免尝试更新,因为 同样的理由布局单位,更新它的内容,而不是。你应该在标签内嵌入标签。

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