Hier ist die Situation: Ich habe geübt, eine Mini-Blog-Anwendung zu erstellen. Ich habe Struts EventDispatchAction verwendet, um alle postbezogenen Methoden wie das Aktualisieren und Auflisten von Posts zu behandeln.Wie behebe ich einen StackOverflowError auf Struts DispatchAction?
Ich habe ein Update() -Methode (http://mywebsite/post?update), der die Datenbank aktualisiert und dann, wenn es nach vorne auf die gleiche Aktion Klasse erfolgreich ist, aber ich habe eine andere Methode, um es zu handhaben, die Liste() -Methode (http://mywebsite/post?list), die auflistet alle Posts des aktuellen Benutzers. Das Problem ist, es nicht und wirft funktioniert:
javax.servlet.ServletException:
Die serverseitige Komponente des HTTP -Monitor hat festgestellt, eine java.lang.StackOverflowError. Diese passiert, wenn eine Endlosschleife im Web-Modul ist. Korrigieren Sie die Ursache der Endlosschleife, bevor Sie das Webmodul erneut ausführen.
Haben Sie eine Idee, wie Sie das beheben können? Jede Hilfe würde sehr geschätzt werden!
EDIT: Ich löste es Jungs. Ich muss nur Wert in den Parameter meines Forward setzen, in meinem Fall muss ich tun: post? List = list anstatt nur post? List (der normale Weg). Die Methode wird ignoriert. Ich schätze, wenn sie keinen Wert hat. Es ist wirklich komisch, warum Struts sich so benimmt. Vielleicht kann jemand etwas Licht darauf werfen?
Hier ist der Stack-Trace: http://pastebin.com/m6a785f4f Zu einem nicht verwandten Hinweis sah ich Ihren Namen Jon auf die Anzeigen hier bei SO. Cool: D – ajushi
Das ist in der Tat eine Endlosschleife/Rekursion ... – Thilo
Hier ist der Forward der Update-Methode: Es scheint, dass es die nicht ausführt list() Methode (/post.do?list) wie es sollte. Ich werde versuchen, es aus Netbeans zu vertreiben. –
ajushi