Primefaces有条件展开LayoutUnit

Primefaces有条件展开LayoutUnit,primefaces,Primefaces,我使用primefaces布局组件,有一个中心和一个右布局单元。我希望在中心布局中有一个链接/按钮,它可以扩展右布局单元,因为我第一次加载页面时,默认右布局为折叠状态。我在右边的布局单元上使用一个布尔表达式,并从我的链接更新它。除了正确的布局单元没有从我的链接中得到ajaxed更新之外,一切都正常。如果我刷新页面,将展开正确的布局单元 第页: 问题可能是您没有更新布局。您可以为h:formaid,并使用此id替换commandbutton的更新id名称,如下所示: <h:form id="

我使用primefaces布局组件,有一个中心和一个右布局单元。我希望在中心布局中有一个链接/按钮,它可以扩展右布局单元,因为我第一次加载页面时,默认右布局为折叠状态。我在右边的布局单元上使用一个布尔表达式,并从我的链接更新它。除了正确的布局单元没有从我的链接中得到ajaxed更新之外,一切都正常。如果我刷新页面,将展开正确的布局单元

第页:


问题可能是您没有更新布局。您可以为h:formaid,并使用此id替换commandbutton的更新id名称,如下所示:

<h:form id="layoutForm" prependId="false">
<p:layout fullPage="true">  
            <p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}">  
                <h:outputText value="#{mapBean.text}" />  
            </p:layoutUnit>
            <p:layoutUnit position="center">
                <p:commandLink actionListener="#{mapBean.showDetail}" update="layoutForm" value="Expand Right Layout"/>
            </p:layoutUnit>
        </p:layout> 
</form>
<p:layout fullPage="true">  
  <p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}"> 
    <h:form id="rightForm" prependId="false">
      <h:outputText id="mapBeanTextOutputText" value="#{mapBean.text}" />
    </h:form>
  </p:layoutUnit>
  <p:layoutUnit position="center">
    <h:form id="centerForm" prependId="false">
      <p:commandLink actionListener="#{mapBean.showDetail}" update="mapBeanTextOutputText" value="Expand Right Layout"/>
    </h:form>
  </p:layoutUnit>
</p:layout> 

请参阅以下论坛帖子,了解如何使用具有
fullPage=true
属性的
组件

不能将布局组件包装成这样的形式,每个
都需要自己的嵌套形式。按照另一个答案的建议,您仍然可以通过设置表单id并正确引用组件id来更新其他表单的组件。试着这样做:

<h:form id="layoutForm" prependId="false">
<p:layout fullPage="true">  
            <p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}">  
                <h:outputText value="#{mapBean.text}" />  
            </p:layoutUnit>
            <p:layoutUnit position="center">
                <p:commandLink actionListener="#{mapBean.showDetail}" update="layoutForm" value="Expand Right Layout"/>
            </p:layoutUnit>
        </p:layout> 
</form>
<p:layout fullPage="true">  
  <p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}"> 
    <h:form id="rightForm" prependId="false">
      <h:outputText id="mapBeanTextOutputText" value="#{mapBean.text}" />
    </h:form>
  </p:layoutUnit>
  <p:layoutUnit position="center">
    <h:form id="centerForm" prependId="false">
      <p:commandLink actionListener="#{mapBean.showDetail}" update="mapBeanTextOutputText" value="Expand Right Layout"/>
    </h:form>
  </p:layoutUnit>
</p:layout>