JSF - 如何强制UI刷新?

时间:2011-07-14 14:03:23

标签: java jsf

我的网站上有两个面板。我使用第一个(有一个用户列表)来选择一个用户,我想在第二个面板上更改其数据(我使用AJAX来做)。当我尝试更改这些数据并发生验证错误时,无法更改选择的用户,因为第二个面板仍然显示以前的UI组件值(它们不会再次从模型中读取)。如何使用模型值强制JSF刷新UI组件值?

2 个答案:

答案 0 :(得分:1)

大多数a4j组件都有一个reRender属性,您可以为其提供应该刷新的部分布局的ID列表。

如果您提供一些代码,我们可能会建议一些更具体的内容。

答案 1 :(得分:0)

您可以使用immediate = true标记命令,因此您可以跳过验证并完全应用请求值,并使用EL参数更新您的内容。

既然你没有提供代码,我会发明一些: <h:commandLink action="#{userController.showUser(selectedUser)}" immediate="true" value="Show user"/>

如果这不可能(例如,您使用真实列表,则需要提交),只需创建2个<h:form>。表单独立提交数据,因此他们不会通过验证互相踩到脚趾。