Java Ajax 显示进度

标签 java ajax jsp servlets

我有一个 jsp 页面,当下拉列表包含一堆不同的表单名称时,该页面调用 servlet。如果用户选择生成所有表单,则 servlet 将调用包含循环的 java 文件。一次运行每个报告生成。整个过程大约需要 7 分钟,因为这些报告非常大。

我的问题是,在保持相同的流程(jsp -> servlet -> java代码)的情况下,我可以使用ajax获取进度状态吗?我想做的是找出循环正在进行的迭代,找出将数据写入excel(这是所有表单的格式)的函数是否已经启动,并将这些信息写入屏幕以供用户查看看到这样他们就不会猜测在任何给定时间发生的事情。

此外,我们目前将所有这些信息打印到 eclipse 中的控制台,以便在测试时我们至少可以知道它正在工作。我不确定这是否重要。

编辑:如果需要,我可以提供代码,但实际上jsp包含一个下拉列表,servlet获取该列表并获取所选选项的值(又名report1、report2、report 20...)并发送该值作为字符串传递给 java 代码。调用的java函数是ReportAutomator.start(String reportNum){forloophere}。 for 循环调用各种函数来生成一个报告对象,该对象被转发到一个新的 java 文件,该文件进行更多处理,然后再次转发到一个最终的 java 文件,该文件解压该对象并将所有信息写入 Excel。

我实际上无法提供实际的代码,但如果有必要,我可以尝试制作一个虚拟示例。抱歉,感谢您的帮助。

最佳答案

一旦了解细节,确定特定任务的进度是一件令人惊讶的复杂事情,但是有一个 jquery with ajax更新进度条。

对于网络应用程序,我推荐 AJAX route它适合向用户指示正在发生的事情。只需让某种微调器在提交页面时可见,然后在渲染时再次隐藏

关于Java Ajax 显示进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530118/

相关文章:

jsp - 将 ResultSet 中的单个值存储在变量中并在另一个页面上使用它

java - 使用ajax从servlet中检索java对象并使用JSTL打印它

java - JSP 中的类无法看到彼此

java - 为什么我得到这个线性布局的空值

javascript - 如何在 xmlHTTPRequest 之前将 cookie 值插入授权 header ?

c# - 增加 ASP.NET 页面方法的最大响应大小

java - 在 Java 代码中安全地存储访问密码

java - 使用 jsonbody 请求将 JSON 转换为 string/int

javascript - 重复 jQuery 数据表 AJAX 调用的内存管理

java - jsp 页面中 bootstrap.min.css 出现 ERR_ABORTED 404 错误