0

我有一个 JSF 页面,如果在 SelectOneMenu 中选择了某个值,则会呈现一些组件。为此,我更改了它们的rendered值并调用RequestContext.getCurrentInstance().update("@form").

从客户端的角度来看,每当我选择值时,我都会收到来自服务器的响应:

<update id="mainForm:addUser:menu_14:menu">
<...some updated values...>
</update>

然而,带有 id 的元素mainForm:addUser:menu_14:menu没有更新。

谁能告诉我有什么问题?

更新 我可以添加 commandButton update="@form",并且按下此按钮实际上会根据需要重绘表单。但我需要从支持 bean 做到这一点,所以......

4

2 回答 2

2

从文档:

公共抽象无效更新(字符串名称)

使用 ajax 更新组件。

name - 组件的客户端标识符。

因此,您不能像从xhtml文件中那样使用选择器,您必须提供组件的客户端 ID。

RequestContext.getCurrentInstance().update("mainForm")
于 2015-10-01T17:43:08.883 回答
0

你在用Primefaces吗?您应该将客户端 ID 传递给RequestContext.update方法。@form不会工作。试试update(mainForm)

于 2015-10-01T17:41:59.623 回答