繁体   English   中英

JSP 进度条

[英]JSP Progress Bar

有没有一种非常简单的方法可以在 JSP 中实现进度条。 基本上我有一个 JSP 页面,该页面转到一个调用方法的 servlet,现在这个过程将运行很长时间,我想指示进度状态,就像 eclipse 任务栏中显示的进度条一样当我们执行任何 java 程序时。

我在这里找到了一个很好的教程http://onjava.com/pub/a/onjava/2003/06/11/jsp_progressbars.html但它似乎有点过时了。

是否有任何新的和简单的方法来实现这一点?

一旦了解细节,确定特定任务的进度是一件非常复杂的事情。 例如,你如何确定你完成了 50%? 如果最后 10% 的任务占用了总时间的 1/2,会发生什么?

通常对于 web 应用程序,如果您确实想要进度条,那么最好走 AJAX 路线,正如上面提到的一些海报。 然而,我发现在 web 上,它适合向用户指示正在发生的事情 只需在提交页面时使某种微调器可见,然后在呈现时再次隐藏(请参见此处)。 这很容易做到,不会造成额外的性能损失,并且表明某种进展

有很多解决方案,例如 jQuery。

您可以使用 Jquery 和 Ajax 来更新进度条:

http://jqueryui.com/demos/progressbar/

在我看来,当您调用 jsp 时,它应该立即返回给用户,但也表明正在后台处理一些复杂的任务(例如,使用加载微调器)。 如果您想知道任务的进度,您应该使用 Ajax 轮询或 Comet push 以便从您的服务器检索它。 为了获取和显示进度,我认为 Ajax 就足够了,而 Comet 可能有点矫枉过正。 以下是有关 Ajax 方法的更多信息:

http://en.wikipedia.org/wiki/Ajax_(编程

关于您的问题的更多信息,servlet(以及 jsp)根据 HTTP 协议工作,该协议基于 request->response model。 在当今世界,很少有网站可以让您从 go 到 jsp 完成一项复杂的任务,然后您必须在完成请求的同时无所事事。 您可能希望让您的用户在后台处理他的请求时仍然可以与您的网络应用程序/网站进行交互。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM