【问题标题】:how to refresh a jsf page from a JavaBean如何从 JavaBean 刷新 jsf 页面
【发布时间】:2012-09-18 06:57:48
【问题描述】:

当 manageBean 中的变量更改值时,我想刷新 XHTML 页面 (jsf) 或该页面的一部分。

问题是:

我有一个 JavaBean,它从 webService 接收数据。此数据定期更改。当变量改变值时,我想在 IHM 页面中显示它。

我希望我的应用程序检测到这些更改并自动刷新页面。

谢谢。

【问题讨论】:

  • 恕我直言,这不是从后端刷新视图的最佳方式。通过执行从视图触发的部分请求,可以避免大多数情况。我想帮您一把,但要这样做,我需要查看您的一些代码,也许还需要查看您想要做什么的详细说明。干杯!
  • 有很多方法可以实现这一点,具体取决于具体的功能需求和可用/使用的库。但是,您的问题中完全缺少此信息。请编辑并改进您的问题以详细说明它们。
  • 问题是:我有一个JavaBean,它从webService 接收数据。该数据定期更改。当变量更改值时,我想在 IHM 页面中显示它。我希望我的应用程序检测到这些更改并自动刷新页面
  • html中没有push,所以需要让页面每隔x次检查一次。调用 bean,让 bean 调用 webservice,看看值是否发生了变化。
  • @roel 这并不完全正确,例如,看看Comet(可能还有一堆其他工具)。服务器到客户端的通信对于 Web 2.0 应用程序来说是一个非常重要的问题,它并没有被完全忽视。 (也就是说,Comet 不是 JSF 技术,集成它可能不是特别方便。与长轮询相比,它是否是正确的解决方案取决于 OP 的要求。)

标签: java jsf refresh


【解决方案1】:

一种快速的方法是使用第三方库,例如 PrimedFaces

这个库包含一个名为 poll 的组件,您可以在预设的时间间隔内检查您的后端,并根据更改更新您的视图组件。
查看链接以查看一个简单的示例。

希望这会有所帮助。玩得开心!

【讨论】:

  • 感谢您的回复!总结。我了解server> IHM 的交流是不可能的。否则 IHM 必须要求更改!
  • 几乎不可能/不好的做法。显示/更新视图的请求已经发送,因此视图和后端之间没有通信,除非您通过 buttonpoll 等操作组件触发它。干杯
【解决方案2】:

使用 ajax 轮询。演示:

请注意,RichFaces 3.3 与 JSF 1.2 和 JSF 2 一起使用,RichFaces 4.x 和 PrimeFaces 3.x 与 JSF 2.x 一起使用

【讨论】:

  • 我想我有一半要找。谢谢朋友
【解决方案3】:

你可以在 jsf 中使用 ajax 的 poll 选项

<a4j:poll interval="timeinms" reRender="jsfcomponent"> </a4j:poll>

【讨论】:

  • 我能指定一个动态时间吗?
猜你喜欢
  • 2012-08-13
  • 2014-06-21
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多