如何以编程方式ajax更新支持bean中的特定组件

时间:2013-04-19 09:25:25

标签: ajax jsf primefaces updates

有没有办法在辅助bean中更新特定组件,例如<h:form>

我使用RequestContext#execute()

尝试了以下操作
RequestContext context = RequestContext.getCurrentInstance();
context.execute("monitorVehicleForm.update()");
然而,这似乎没有任何影响。

1 个答案:

答案 0 :(得分:13)

RequestContext#execute()仅执行作为参数传入的任意JavaScript代码。它不会ajax更新组件的客户端表示。

您需要RequestContext#update(),而只需传递待更新组件的客户端ID。

context.update("monitorVehicleForm");

这与<p:commandXxx ... update="monitorVehicleForm">具有完全相同的效果。这项工作为您提供了

<h:form id="monitorVehicleForm">

没有任何NamingContainer父级,因此有

<form id="monitorVehicleForm" name="monitorVehicleForm" ...> 

在生成的HTML中。

另见: