Veröffentlicht 12. April 200520 j Ich stehe mal wieder auf dem Schlauch?! :confused: Also, ich rufe von einer JSP-Seite aus ein Servlet auf welches ein Download durchführt und daraufhin noch ein Flag in einer DB setzt. Nun soll die aufrufende JSP-Seite aktualisiert werden, da sich der Inhalt geändert hat und dies dem User autom. angezeigt werden soll. Nur leider funktioniert vom Servler aus ein forward() um die Seite neu zu laden nicht? Er führt den RequestDispatcher mit anschließendem forward() nicht aus. Weiß jemand woran das liegt, odr hat ne andere Lösung zum aktualisieren? Danke schonmal.
12. April 200520 j Ich verstehe noch nicht ganz, wo das Problem liegt - nach dem Download sind die Daten doch beim Client (also dem Browser) angekommen, oder? Dann kannst du sowieso nix mehr forwarden, weil die Verarbeitung auf dem Server abgeschlossen ist. Das einzige was du da machen kannst ist ein HTTP Redirect zu setzen, oder die Seite über einen Meta-Tag zu reloaden.
12. April 200520 j Das Servlet hat eine Änderung in der Datenbank vorgenommen, welche nun auch auf der JSP- Seite dargestellt werden soll. Dazu muss diese erneut geladen werden. Nur leider klappt das per forward() aus dem Servlet heraus nicht?! Ich denke es liegt daran, das ich im Servlet vor dem forward() einen OuputStream benutze?
12. April 200520 j Du kannst keinen Reload der Seite machen, nachdem sie an den Browser gesendet worden ist. Das liegt in der Natur des HTTP Protokolls und der Art und Weise, wie HTML vom Browser verwendet wird. Willst du diesen Quasi-Reload haben, musst du dem Browser über einen Meta-Refresh mitteilen "Bitte die Seite, nach X Sekunden/Minuten neu laden". Aktiv eine neue Seite zu pushen kannst du mit "normalem" HTML nicht. Da müsstest du dann ein Applet einbinden, dass die Kommunikation mit dem Server aufnimmt aber wahrscheinlich wird das alles viel zu komplex.
20. April 200520 j ich würde auch sagen, entweder wie perdi meinte über metatags oder über JavaScript. document.reload heisst das da meine ich.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.