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

Ven*_*idu 10 ajax jsf updates primefaces

有没有办法ajax更新特定组件,如<h:form>支持bean?

我尝试了以下使用RequestContext#execute(),

RequestContext context = RequestContext.getCurrentInstance();
context.execute("monitorVehicleForm.update()");
Run Code Online (Sandbox Code Playgroud)

然而,这似乎没有任何影响.

Bal*_*usC 13

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

您需要在RequestContext#update()其中传递要更新的组件的客户端ID.

context.update("monitorVehicleForm");
Run Code Online (Sandbox Code Playgroud)

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

<h:form id="monitorVehicleForm">
Run Code Online (Sandbox Code Playgroud)

没有任何NamingContainer父母,因此有一个

<form id="monitorVehicleForm" name="monitorVehicleForm" ...> 
Run Code Online (Sandbox Code Playgroud)

在生成的HTML中.

也可以看看: