RequestContext发送响应,但页面没有变化

时间:2015-10-01 16:32:31

标签: jsf primefaces requestcontext

我有一个JSF页面,如果在SelectOneMenu中选择了某个值,则会渲染一些组件。为此,我更改了rendered值并致电RequestContext.getCurrentInstance().update("@form")

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

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

然而,标识为mainForm:addUser:menu_14:menu的元素未更新。

谁能告诉我有什么问题?

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

2 个答案:

答案 0 :(得分:2)

来自文档:

  

public abstract void update(String name)

     

使用ajax更新组件。

     

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

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

RequestContext.getCurrentInstance().update("mainForm")

答案 1 :(得分:0)

您使用的是Primefaces吗?您应该将客户端ID传递给RequestContext.update方法。 @form无效。试试update(mainForm)