在使用从指纹设备获取数据的员工登记时更新变量的bean中使用schedule(Timer)。当更新bean中的变量时,我需要从辅助bean更新jsf中的组件。我尝试使用primefaces poll组件,但每次都更新组件。
答案 0 :(得分:12)
假设您将使用来自指纹设备API的侦听器调用Java方法,并且从ManagedBean可以使用RequestContext更新任何Primefaces组件。
RequestContext.getCurrentInstance().update("ID_OF_YOUR_DATATABLE")
答案 1 :(得分:1)
Primefaces 中已有一个组件,您可以看到:here。
RequestContext是一个具有各种便利实用程序的功能。
以编程方式更新组件。从bean执行javascript。 添加ajax回调参数。在ajax之后滚动到特定组件 更新
查看here示例。
答案 2 :(得分:1)
我用primefaces push组件解决了我的问题。
java代码是:
PushContext pushContext = PushContextFactory.getDefault().getPushContext();
pushContext.push("/finger", "Pressed");
在jsf中:
<p:socket channel="/finger" onMessage="clearCookies" />
“clearCookies”是remoteCommand函数,用于更新我的dataTable。
答案 3 :(得分:0)
它已从primefaces 7.0更改
PrimeFaces.current().ajax().update("elementJS");