2010-07-21 66 views
3

我想在gwt-rpc调用期间添加一个进度条,该进度条显示已完成任务的百分比。任何人都可以为我提供相同的一段代码?
另外我从战争目录加载视频到我的客户端,他们需要一段时间。因此,如果我尝试播放它们,有时浏览器无响应(可能是因为整个部分未加载)。是否有方法来确定(因此显示用户)何时完全加载视频?在RPC期间添加进度条

回答

3

gwt-incubator project中有一个进度条小部件。但是,大多数GWT-RPC调用应该非常快,所以我无法想象进度栏会有时间显示。此外,我不知道如何获得GWT-RPC调用的进度,您必须在服务器端手动编写该功能。例如,如果您运行的任务很长,则可以创建另一个GWT-RPC调用,该调用每30秒调用一次以查明正在运行的作业的状态并相应地更新进度栏。

但是,对于常规的GWT-RPC调用,最好的办法是某种“加载...”通知。它不应该存在很长时间,并且很容易编码。

至于第二个问题,这不是显示视频的最佳方式。当您只是将视频文件转储给用户时,用户将被要求手头持有该视频编解码器,并且将被迫等待视频完全下载。一种更好的显示视频的方法是:

  1. 某种会播放视频的Flash播放器。
  2. 仅适用于现代浏览器的HTML 5标签。

希望有所帮助。

1

如果您对每个操作始终只有一次RPC调用,那么使用进度条并不是一个好主意。因为你必须在服务器端做额外的工作,这比你想要做的要复杂得多。

如果一个动作中有多个RPC,则可以使用进度条。例如,如果您有4个RPC调用,则可以在每个调用完成后将25%添加到进度栏。这也将允许您在所有呼叫成功完成后锁定屏幕,并根据当前百分比和相关的百分比描述从客户端明确知道哪个RPC呼叫失败。