【问题标题】:JSF update schedule and hide dialog primefacesJSF 更新计划和隐藏对话框 primefaces
【发布时间】:2014-10-23 22:33:15
【问题描述】:

我尝试在 bean 验证完成并隐藏对话框后更新我的日程安排,但它不起作用。隐藏对话框可以但不更新。

<p:commandButton id="addButton" value="Save" 
actionListener="#{planningController.addEvent}" 
oncomplete="if (!args.validationFailed){PF('eventDialog').hide(); PF('schedule').update();}"/>
</p:commandButton>

【问题讨论】:

  • 向我们展示您的更新功能。您在控制台中看到任何错误吗?
  • 您好,我没有个性化更新功能,只是刷新日程。如果我只使用 PF('schedule').update();没有隐藏功能,它工作正常。控制台没有错误。
  • 在这种情况下,您可以尝试创建一个保存您的两个调用的函数:function completed() { PF('eventDialog').hide(); PF('schedule').update(); } 并在 oncomplete="if (!args.validationFailed){ completed(); }" 中使用它
  • 是的,这是一个很好的想法,但不起作用:/。最后我不确定 PF('schedule').update() 是否正常工作。也许我可以在我的听众中使用类似“RequestContext.getCurrentInstance().update”的东西?但我不知道...
  • 如果您只是想刷新您的视图,您可以在 oncomplete 中调用一个 ajax,或者您可以在您的 bean 操作中将用户重定向到一个视图(如果需要,可以使用相同的视图)。

标签: jquery jsf-2 primefaces hide commandbutton


【解决方案1】:

最后我使用了javascript函数:

function completed() { PF('eventDialog').hide(); PF('schedule').update(); }

并使用 oncomplete 调用。

如果不工作是因为我需要在关闭正文之前将我的脚本放入我的模板中,我不知道为什么它在其他 xhtml 中不起作用但现在可以工作。

非常感谢大家。

【讨论】:

    猜你喜欢
    • 2014-10-08
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多