1
A
回答
5
基本上,您希望存储对任务的引用,并且本身也会在HTTP会话中(或者在涉及应用程序范围任务的Servlet上下文中)存储它的进度。这样,您必须能够在每个HTTP请求中检索有关它的信息。
在JavaScript中,您可以使用setTimeout()
或setInterval()
在特定超时或特定间隔后执行函数。您可以使用它来重复触发Ajax请求以请求进度的当前状态。一旦检索到状态,例如在最大值为100(百分比)的整数的味道中,只需更新表示进度条的一些div和/或相应HTML DOM树中的百分比文本。
jQuery在解决Ajax请求和遍历/操纵HTML DOM树时非常有用。它最大限度地减少了代码冗长和交叉浏览器兼容性问题。
试想一下,该servlet看起来像这样的doGet()
:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String processId = "longProcess_" + request.getParameter("processId");
LongProcess longProcess = (LongProcess) request.getSession().getAttribute(processId);
int progress = longProcess.getProgress();
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(String.valueOf(progress));
}
然后你可以使用它像如下:
function checkProgress() {
$.getJSON('progressServlet?processId=someid', function(progress) {
$('#progress').text(progress + "%");
$('#progress .bar').width(progress);
if (parseInt(progress) < 100) {
setTimeout(checkProgress, 1000); // Checks again after one second.
}
});
}
相关问题
- 1. 设置进度,进度条
- 2. Flex进度条设置
- 3. 如何设置进度条
- 4. jquery ajax进度条
- 5. $ .ajax JQuery进度条
- 6. ajax调用进度条/进度状态
- 7. 基于Ajax的进度条
- 8. PHP和Ajax进度条
- 9. 限制Ajax进度条
- 10. 进度条和jquery ajax
- 11. Python四步设置与进度条
- 12. 设置进度条为垂直
- 13. Visual Basic 2010 - 进度条 - 设置回0
- 14. Laravel 5.1 - 如何设置进度条
- 15. 如何在android中设置进度条?
- 16. 如何设置这样的进度条,并在java中设置它的进度
- 17. 如何使用getRepeaterItem设置进度条的进度?
- 18. 进度条设计模式?
- 19. 如何处置进度条?
- 20. 进度条重置自己?
- 21. 为自定义进度条设置动画宽度约束Autolayout
- 22. 更改dotnetnukes的ajax进度条
- 23. $ .Ajax使用jquery发送进度条
- 24. Jquery :: Ajax支持进度条吗?
- 25. 多个Ajax请求和进度条
- 26. 加载脚本的AJAX进度条
- 27. Ajax加载进度条百分比
- 28. AJAX进度条显示页面加载的进度百分比
- 29. 如何设置为100%并重置为0%进度条
- 30. 如何设置显示install4j中安装/更新进度的进度条?
真棒!我会给它一个去看看我想出了什么。 – Julio 2010-09-30 12:14:35
不客气。 – BalusC 2010-09-30 12:19:44
对不起,这不在它的servlet中,它在一个单独的java类。然而,我们有一个请求类,它使得来自tomcat的请求能够完全回退一些XML并将其发布到XSL样式表中。 – Julio 2010-09-30 12:50:22