为了账号安全,请及时绑定邮箱和手机立即绑定

我可以通过JSF支持bean方法更新JSF组件吗?

我可以通过JSF支持bean方法更新JSF组件吗?

幕布斯6054654 2019-10-08 11:01:14
有没有办法让JSF Backing bean导致页面上组件的更新?我不想使用带有update属性的ajax组件来更新页面上的组件。我需要从JSF支持bean方法中触发更新。请注意,此方法完成后或完成之前,页面上的更新可能会发生。如果使用PrimeFaces可以提供解决方案,那么我正在使用PrimeFaces。
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

使用标准的JSF API,将客户端ID添加到中PartialViewContext#getRenderIds()。


FacesContext.getCurrentInstance().getPartialViewContext().getRenderIds().add("foo:bar");

使用PrimeFaces特定的API,请使用RequestContext#update()。


RequestContext.getCurrentInstance().update("foo:bar");

从PrimeFaces 6.2 RequestContext#update()起已弃用,请PrimeFaces::Ajax#update改用。


PrimeFaces.current().ajax().update("foo:bar");

如果您碰巧使用了JSF实用程序库OmniFaces,请使用Ajax#update()。


Ajax.update("foo:bar");

无论采用哪种方式,请注意,这些客户端ID应该代表绝对的客户端ID,并且不像NamingContainer在视图端那样用前缀分隔符作为前缀。


查看完整回答
反对 回复 2019-10-08
  • 3 回答
  • 0 关注
  • 459 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信