【发布时间】:2015-09-11 18:39:38
【问题描述】:
我有一个 jsp 页面,当下拉列表中有一堆不同的表单名称时,它会调用一个 servlet。如果用户选择生成所有表单,则 servlet 将调用包含循环的 java 文件。一次运行每个报告生成。整个过程大约需要 7 分钟,因为这些报告非常大。
我的问题是,在保持相同进程(jsp -> servlet -> java 代码)的情况下,我可以使用 ajax 获取进度状态吗?我要做的是找出循环正在进行的迭代,找出将数据写入excel(这是所有表单的格式)的功能是否已启动,并将此信息写入屏幕供用户使用看到这样他们就不会在任何给定时间猜测发生了什么。
此外,我们目前在 Eclipse 中将所有这些信息打印到控制台,以便进行测试,我们至少可以知道它正在工作。我不确定这是否重要。
编辑:如果需要,我可以提供代码,但实际上 jsp 包含一个下拉列表,servlet 获取该列表并获取所选选项的值(又名报告 1、报告 2、报告 20 ...)并发送该值到java代码作为一个字符串。调用的 java 函数是 ReportAutomator.start(String reportNum){for loop here}。 for 循环调用各种函数来生成一个报告对象,该对象被转发到一个新的 java 文件中,该文件执行更多处理,然后再次转发到一个最终的 java 文件,该文件解包对象并将所有信息写入 excel。
我无法提供实际代码,但如有必要,我可以尝试制作一个虚拟示例。抱歉,感谢您的帮助。
【问题讨论】: