从支持bean更新PrimeFaces dataTable

时间:2013-10-03 12:45:25

标签: jsf primefaces

在使用从指纹设备获取数据的员工登记时更新变量的bean中使用schedule(Timer)。当更新bean中的变量时,我需要从辅助bean更新jsf中的组件。我尝试使用primefaces poll组件,但每次都更新组件。

4 个答案:

答案 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");