ICEFaces页面刷新

时间:2009-10-06 18:23:10

标签: icefaces

我有一个页面,用户输入数据并点击“保存”按钮。 数据将保存到数据库中,我希望页面自行重新生成以反映数据库中的新数据。 我正在使用托管bean,如何让页面自行刷新?

3 个答案:

答案 0 :(得分:3)

我想到了两个选项:

  1. 使用JSF导航规则
  2. 使用渲染的属性
  3. 广告1)

    定义在点击“保存”后您将导航到的页面。 为此,您实际将数据保存到数据库的操作将进入定义为actionListener的方法,或者,如果您希望根据保存过程的结果使下一页成为action }。

    导航规则将在faces-config.xml中定义 如果没有导航规则与给定操作匹配,则将重新显示当前页面(尽管根据我的经验,此刷新与常见的HTML刷新不同)。

    ad 2)

    如果您在bean中的某个模型设置了同一页面上的某些列表或数据表,则会自动显示更改您正在使用immediate关键字集在保存按钮上为true。

    此外,您可能会考虑一个面板,其中包含您所选择的内容,其中rendered属性设置为您的bean中的布尔值,这将在保存过程中触发,因此只有在点击后才能显示内容保存

答案 1 :(得分:1)

您可以使用IceFaces的AJAX推送功能。这会初始化客户端的重新呈现。

推荐(也是最简单)的方法是在托管bean中使用SessionRender API:

SessionRenderer.addCurrentSession("myGroup");
SessionRenderer.render("myGroup");

有关详细信息,请参阅Icefaces开发人员指南。

答案 2 :(得分:0)

这取决于你是怎么做的。

当您单击该按钮时,JSF生命周期将启动,如果您在按钮操作中启动保存到数据库,则您在管理bean中更新的任何值都应自动反映在页面中。 JSF生命周期会自动为您执行此操作,并且icefaces可以使用AJAX桥来执行此操作,因此您不需要执行页面重新加载。

如果您正在异步工作,则需要使用Push API icefaces为您提供。从服务器端开始生命周期。