按PrimeFaces按钮后阻止页面刷新

时间:2012-01-01 23:24:39

标签: jsf button primefaces

我的网页内有p:tabView和一些p:tab。在其中一个标签(不是默认标签)中,有一个p:commandLink,点击后会更新并显示包含p:dialog的{​​{1}}。

我的问题是,在单击对话框中的按钮后,页面将刷新并再次显示默认选项卡。相反,我希望按钮关闭对话框而不刷新页面。换句话说,我希望按钮在服务器端触发操作,在客户端触发操作,就像对话框右上角的p:button关闭链接一样。

1 个答案:

答案 0 :(得分:1)

我认为你可以使用PrimeFaces v3.0.RC2 RequestContext来实现它:

<p:dialog widgetVar="dialog">  
    <p:commandButton actionListener="#{mrBean.close}" value="Close" />  
</p:dialog>

@ManagedBean
@RequestScoped
public class MrBean {
   public void close() {
      RequestContext context = RequestContext.getCurrentInstance();
      context.execute("dialog.hide();"); 
      //On primefaces >= 3.x use context.execute("PF('dialog').hide();");
   }
}