JSP-Statusanzeige
Gibt es eine ganz einfache Möglichkeit zur Implementierung von progress-bars in JSP. Im Grunde habe ich eine JSP-Seite, die geht an ein servlet aufruft, bis eine Methode, die in diesem Prozess ausgeführt wird, für eine lange Zeit, und ich möchte, um den status anzuzeigen, mit der die Fortschritte ebenso wie den Fortschrittsbalken, der zeigt, bis in die eclipse Taskleiste, wenn wir jedes beliebige java-Programm.
Habe ich gefunden ein schönes tutorial hier http://onjava.com/pub/a/onjava/2003/06/11/jsp_progressbars.html aber es scheint ein wenig veraltet.
Gibt es neue und einfache Möglichkeiten, um dies zu implementieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bestimmung der Fortschritt einer bestimmten Aufgabe ist eine überraschend komplizierte Sache, wenn man einmal in die details. Wie bestimmen Sie zum Beispiel, dass Sie 50% fertig? Und was passiert, wenn die letzten 10% der Aufgabe nimmt 1/2 der Gesamtzeit?
In der Regel für eine web-app, wenn Sie wollen, dass der Fortschrittsbalken, dann wird der AJAX-route am besten ist, wie einige der Poster oben erwähnt.
Ich finde jedoch, dass auf dem Netz, ist es geeignet, um dem Benutzer anzuzeigen die etwas passiert. Nur ein spinner, der irgendeiner Art sichtbar gemacht, wenn die Seite übergeben wird, und dann wieder ausgeblendet, wenn es gemacht wird (sehen hier). Dies ist sehr einfach, verursacht keine zusätzlichen performance-hit, und ist bezeichnend für eine Art von Fortschritt
Gibt es eine Menge von Lösungen, zum Beispiel jQuery.
Können Sie Jquery mit Ajax zu aktualisieren, den Fortschritt-bar:
http://jqueryui.com/demos/progressbar/
Meiner Meinung nach, wenn Sie sich an Ihren jsp, sollte es wieder zu dem Benutzer unmittelbar an, sondern auch darauf hinweisen, dass einige komplexe Aufgabe wird erledigt im hintergrund (mit einem Ladesymbol, zum Beispiel). Wenn Sie wissen wollen, die Aufgabe, die Fortschritte, die Sie verwenden sollten entweder Ajax-polling oder Comet schieben, um es von Ihrem server. Nur für das abrufen und die Anzeige von Fortschritt, ich denke Ajax ist ausreichend und Kometen vielleicht ein bisschen übertrieben. Hier ist mehr auf der Ajax-Ansatz:
http://en.wikipedia.org/wiki/Ajax_(Programmierung)
Mehr auf Ihre Frage, einen servlet-Container(und auch ein jsp) arbeiten nach dem HTTP-Protokoll basiert auf dem request->response-Modell. In der heutigen Welt, es gibt selten Seiten, wo Sie gehen, um eine jsp zu tun, eine komplexe Aufgabe, und dann haben Sie herumsitzen und nichts tun, während Ihr Antrag vollständig ist. Möglicherweise möchten Sie dem Benutzer die Freiheit, noch interagieren Sie mit Ihrer web-Applikation/website, während sein Antrag wird bearbeitet im hintergrund.