我的网页内有p:tabView
和一些p:tab
。在其中一个标签(不是默认标签)中,有一个p:commandLink
,点击后会更新并显示包含p:dialog
的{{1}}。
我的问题是,在单击对话框中的按钮后,页面将刷新并再次显示默认选项卡。相反,我希望按钮关闭对话框而不刷新页面。换句话说,我希望按钮在服务器端触发操作,在客户端触发操作,就像对话框右上角的p:button
关闭链接一样。
答案 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();");
}
}