【问题标题】:JSF updating a composite componentJSF 更新复合组件
【发布时间】:2012-04-01 09:06:20
【问题描述】:

是否可以仅通过指定父复合 ID 来更新复合组件的子组件?例如。如果我有:

<composite:interface>
    <composite:attribute name="value" type="..." required="true"/>
</composite:interface>

<composite:implementation>
    <p:treeTable id="main-tree" ...>
        ...
    </p:treeTable>

</composite:implementation>

并以某种方式使用它:

<my:comp id="composite-component" />

...

<p:ajax update="composite-component" />

这可能吗?现在我看到的唯一方法是明确指定子组件 ID:

<p:ajax update="composite-component:main-tree" />

【问题讨论】:

    标签: java jsf-2 primefaces


    【解决方案1】:

    这可以通过在您的复合组件实现周围包裹&lt;div&gt; 并设置div 的id=#{cc.clientId} 来完成:

    <html ...>
        <composite:interface>
           ...
        </composite:interface>
    
        <composite:implementation>
          <div id="#{cc.clientId}">
            ...
          </div>
        </composite:implementation>    
    </html>
    

    在使用页面中:

    <my:comp id="composite-component" />
    ....
    <h:commandButton value="Update first name">
       <f:ajax execute="composite-component" render="composite-component">
    </h:commandButton>
    

    &lt;p:ajax&gt;应该相应地工作。

    【讨论】:

      猜你喜欢
      • 2012-07-26
      • 2015-01-23
      • 1970-01-01
      • 2011-07-28
      • 2011-06-27
      • 1970-01-01
      • 2013-03-23
      • 2013-04-22
      • 2011-06-04
      相关资源
      最近更新 更多