我需要编写一个进度条来监控生成一些非常大的 PDF 文件的进度。我们知道如何非常准确地查看服务器端生成 PDF 文件的进度,但无法找到一种从浏览器监控状态的好方法。
几个建议。。
- 当 servlet/gwt-rpc 请求恰好启动作业时,为作业创建 guid,将 guid 返回给客户端。每隔 x 秒使用之前返回的 guid 查询另一个 gwt-rpc 方法。随着缓慢运行进程的进展,我们将状态推送到具有该 guid 名称的会话变量。当我们达到 100% 时,从动态确定的位置下载文件并通过普通 servlet 将实际文件发送到浏览器。
- 使用 ajax-push 让长时间运行的 http 连接即时推送状态。
有人对如何设计健壮的进度条有建议吗?
有关如何处理此问题的任何建议?就 UI 而言,我可能会编写自己的小部件,因为 gwt-incubator 项目的状态栏已被弃用(连同整个项目)。