2011-01-26 68 views
1

我有一个下载servlet,它会生成一些带有一些文件的ZIP文件,其中一个很大,然后将生成的文件发送到响应中进行下载。通知用户在下载servlet中正在生成文件

问题是生成过程非常大,在生成de ZIP和下载步骤(当用户看到下载对话框时)的步骤之间有很多秒甚至一分钟可以通过。因此,无论如何,我想通知用户该文件正在生成。

我正在考虑的解决方案是做几个请求,一个用于打开一个模式窗口,通知用户并在其内部,然后自动执行另一个请求,以便在临时位置生成文件,然后在请求结束,另一个关闭窗口(该窗口必须自动关闭),然后在最后一步请求下载servlet生成的文件。

如果有人知道我在做什么,我想如果存在一个更好,更干净的解决方案。

回答

1

您可以触发ajax请求来启动生成过程,然后其他ajax请求轮询服务器是否准备好文件。如果是 - 将浏览器的位置更改为文件。否则,显示一个“加载”消息/图像/ ..

+0

我在想使用Ajax之前,但这是一个旧项目,由于几个原因难以解释,我最好不要安装和使用Ajax。 – 2011-01-27 09:19:51