我有一个想要重新创建的对话框,而不是用当前内容重新显示。我用:
RequestContext.getCurrentInstance().execute("PF('dialogId').show()");
显示对话框和
RequestContext.getCurrentInstance().execute("PF('dialogId').hide()");
隐藏来自辅助bean的对话框。
如果我使用
RequestContext.getCurrentInstance().execute("PF('dialogId').content.empty()");
在show()之前然后对话框为空。
我也试过
RequestContext.getCurrentInstance().execute("PF('dialogId').remove()");
在show()之前但是根本没有显示对话框。
我想重新创建而不是重新显示的原因是因为我在对话框bean init函数中创建了TreeNodes。必须在显示对话框之前从数据库中获取Treenodes数据。
我只想在每次显示对话框时调用dialog bean的init函数,而不仅仅是第一次。
我的初始化功能:
@PostConstruct
public void init(){
root = new DefaultTreeNode("Root Node", null);
// code for creating other TreeNodes
}