将f:ajax附加到h:panelGroup

时间:2011-05-23 08:32:11

标签: ajax jsf-2

每当我尝试将f:ajax附加到h:panelGroup时,我都会收到错误:

  

父级不是复合组件或   ClientBehaviorHolder类型

我曾经能够使用Richfaces和JSF 1.2来做到这一点。 有解决方法吗?我应该引入Richfaces 4.0吗?

这很奇怪,因为它显然是可能的(我使用jQuery进行客户端操作)

更新 Richfaces 4.0无济于事。尝试并得到同样的错误。

代码示例:

<li>
  <f:param value="#{contact.getUUID}" name="currContactUUID" /> 
  <f:ajax event="click" onevent="console.log('Event Happend in panelgroup')" >
    <h:panelGroup styleclass="contacts_tab_contacts_list_quickview_box">
        <h:outputText value="#{contact.firstName} #{contact.familyName}"/>
    </h:panelGroup>
  </ajax>
</li>

1 个答案:

答案 0 :(得分:1)

对于panelGroup来说,这是不可能的。 f:ajax只能用于实现javax.faces.component.behavior.ClientBehaviorHolder界面的组件,而h:panelGroup则不能。

您可以使用周围的ajax标记将您的组件包装在panelGroup中:

<f:ajax>
 ... (your components here)
</f:ajax>