【问题标题】:How to do delayed zone reload in Tapestry?如何在 Tapestry 中进行延迟区域重新加载?
【发布时间】:2014-03-03 01:34:14
【问题描述】:

有没有办法在 Tapestry 中延迟区域重新加载。

我在提交表单时执行了一个不那么快速的操作。 几秒钟后(通常是 2 或 3 秒钟)即可看到结果。

有没有办法进行延迟区域重新加载,它会显示一些指示区域将在 x 秒内重新加载,然后执行实际重新加载?

【问题讨论】:

  • 任何方式如果你让你的方法阻塞该区域将不会更新,直到 Java 方法完成并返回。
  • 我不在单客户端、单线程环境中工作,因此了解内容是否已更新的唯一实际可靠的方法是查询远程源。但是,我可以假设(一个强有力的假设)该操作将在 2-3 秒内记录下来。
  • 那么你应该使用定期区域更新器。所以如果你的更新在第一秒还没有准备好,它会在另一秒重试
  • 这就是我使用的。它有效!

标签: java ajax reload tapestry zone


【解决方案1】:

通常区域更新请求在 Java 端被阻止。但是正如您所说,您的应用程序不能以单线程方式运行,您可以使用 PeriodicZoneUpdater。您的客户在哪里轮询更新

【讨论】:

    【解决方案2】:

    您可以在等待时用 throbber(或一些文本)填充该区域

    或者您可以从 ProgressLink 组件中获得一些灵感,该组件会不断轮询服务器端任务的完成百分比,直到达到 100%

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      相关资源
      最近更新 更多