JSF 2 DataTable通过AJAX更新

时间:2012-03-03 11:30:02

标签: jsf-2 datatable

目前我的工作流程如下:

  1. 用户在textarea中输入手机号码列表。
  2. 用户选择提交表单的选项(非AJAX)。
  3. 系统处理ID,在新页面中向用户显示包含所有手机号码的JSF 2 DataTable。
  4. 系统继续按顺序检索有关每个手机号码的信息(一次一个号码)并将其更新到DataTable中。
  5. 目前我不确定在步骤3中显示DataTable后我应该怎么做才能实现第4步。

    请建议或链接我许多与我的要求类似的教程。

1 个答案:

答案 0 :(得分:2)

有几个选项要做.4。一个独特的选择是让客户启动更新或让服务器执行此操作。

在第一种情况下,您将看到传统的AJAX,并且可以使用AJAX轮询组件。 PrimeFaces和RichFaces都有这样的组件(分别是p:poll和a4j:poll)

默认情况下,AJAX请求通过单个队列进行序列化,因此将自动满足“一次一个数字”的要求。由于您只想轮询一次,因此应在收到结果后立即停止轮询。

另一个选择是让服务器将数据推送到客户端(有时称为反向AJAX)。在您的情况下,当获取具有移动号码的初始表的数据时,您将立即异步查询所有额外信息。一旦服务器检索到该信息,它就会将其发送到客户端中的数据表。您可以再一次执行此操作,或者如果是一个查询,则一次更新整个表可能更有效。

对于推送,PrimeFaces和RichFaces都有可用的组件(p:push vs a4j:push)。

见: