单击primefaces中的字段集后如何调用方法



这是我的。xhtml文件中的代码,我在字段集

下添加了

index.xhtml

    <p:fieldset legend="BPS Listener Method" toggleable="true" collapsed="#{bpsFrontBean.bpsListenerSwitch}" toggleSpeed="500" style="width: 920px;margin: 0 auto; text-align: left">
    <p:ajax listener="#{bpsFrontBean.onToggleBpsListenerSwitch}" update="parametersGrid"/>
    .........
    </p:fieldset>
如果我在页面显示之前运行上面的代码,会出现一个错误:
    javax.faces.view.facelets.TagException: <p:ajax> Event attribute could not be determined: null

我想在单击toggleable字段集时触发一个方法。

Primefaces用户指南(http://www.primefaces.org/showcase/ui/panel/fieldset.xhtml)第205-206页说:

Ajax行为事件

toggle是默认且唯一的ajax行为字段集提供的事件,该事件在处理内容时进行处理连接。如果定义了侦听器,则由传递一个org.primefaces.event.ToggleEvent的实例。

下面是一个添加facesmessage和更新growl的示例组件

<p:growld id="messages" />
<p:fieldset legend="Toggleable Fieldset" toggleable="true">
    <p:ajax listener="#{bean.onToggle}" update="messages"/>
    //content
</p:fieldset>

在bean上:

public void onToggle(ToggleEvent event) {
   Visibility visibility = event.getVisibility();
   FacesMessage msg = new FacesMessage();
   msg.setSummary("Fieldset " + event.getId() + " toggled");
   msg.setDetail("Visibility: " + visibility);
   FacesContext.getCurrentInstance().addMessage(null, msg);
}

您必须在p:ajax中添加event="toggle"以消除错误:

<p:ajax event="toggle" listener="#{bpsFrontBean.onToggleBpsListenerSwitch}" update="parametersGrid"/>

不幸的是,目前(PF 8)没有在文档中提到。

相关内容

  • 没有找到相关文章

最新更新