Primefaces 3.5对话框';s';可见';属性在ajax';关闭';事件
解决方案。(在bean中显示和隐藏Primefaces 3.5对话框';s';可见';属性在ajax';关闭';事件,ajax,primefaces,dialog,Ajax,Primefaces,Dialog,解决方案。(在bean中显示和隐藏对话框) 我有一个对话框和显示/隐藏按钮,效果很好。对话框从支持bean读取boolean值,并更新其visible属性(使其显示或隐藏)。在我使用默认的关闭按钮关闭对话框之前,一切正常,该按钮触发ajaxclose事件。从那一刻起,“显示/隐藏”按钮就不起作用,或者更确切地说,对话框不会更新其可见状态。它永远关闭 我发现,在触发ajax事件后,除了dialogvisible属性之外,所有内容都会正确更新。按钮工作正常,它们正确地更新了支持bean(我可以在日
对话框
)
我有一个
对话框
和显示/隐藏按钮,效果很好。对话框从支持bean读取boolean
值,并更新其visible
属性(使其显示或隐藏)。在我使用默认的关闭按钮关闭对话框之前,一切正常,该按钮触发ajaxclose
事件。从那一刻起,“显示/隐藏”按钮就不起作用,或者更确切地说,对话框不会更新其可见状态。它永远关闭
我发现,在触发ajax事件后,除了dialogvisible
属性之外,所有内容都会正确更新。按钮工作正常,它们正确地更新了支持bean(我可以在日志文件中看到它),并且对话框面板也正确地更新了(我可以看到屏幕上显示的正确showDialog
值)
我知道还有其他方法可以显示/隐藏对话框,但我真的很好奇在这种情况下会发生什么-为什么会这样?有没有办法通过从bean读取可见性值来显示对话框(以及在对话框关闭时更新bean值更重要的是什么)
我的XHTML:
showDialog值=#{testBean.showDialog}
测试
和支持bean:
@ManagedBean
@视域
公共类TestBean实现了可序列化{
私有静态最终记录器Logger=LoggerFactory.getLogger(“TB”);
私有布尔显示对话框;
公共布尔值isShowDialog(){
info(“getter isShowDialog={}”,showDialog);
返回显示对话框;
}
public void enableShowDialog(){
showDialog=true;
LOGGER.info(“isShowDialog设置为true”);
}
公共无效禁用ShowDialog(){
showDialog=false;
info(“isShowDialog设置为false”);
}
}
也许您可以隐藏关闭按钮:
closable="TRUE"
或者您可以通过onHide属性更新变量
我刚注意到对话不是形式
找到类似的职位
这是我对你们的看法,它给了我答案:
只需将oncomple=“someDialog.show()”事件添加到按钮,将widgetVar=“someDialog”添加到对话框
据我所知,close changes rendered属性,这就是为什么不能显示它。也许可以隐藏关闭按钮:
closable="TRUE"
或者您可以通过onHide属性更新变量
我刚注意到对话不是形式
找到类似的职位
这是我对你们的看法,它给了我答案:
只需将oncomple=“someDialog.show()”事件添加到按钮,将widgetVar=“someDialog”添加到对话框
据我所知,close changes rendered属性,这就是为什么不能显示它。设置
closable
不会更改任何内容。另外,对话框
不必位于表单
内。我知道oncomplete=“dialog.show()”
,但我想从bean中启用或禁用对话框。然后我检查了你的发现,就这样了。谢谢。设置closable
不会改变任何东西。另外,对话框
不必位于表单
内。我知道oncomplete=“dialog.show()”
,但我想从bean中启用或禁用对话框。然后我检查了你的发现,就这样了。谢谢