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