Szenario:
Sie verwenden das Struts2 JSON-Plugin in einem AJAX Aufruf, aber die Antwort gibt keine JSON-Daten zurück. Stattdessen erhalten Sie eine Fehlermeldung:
org.apache.struts2.dispatcher.Dispatcher - Could not find action or result No result defined for action action.Part and result {"col1":"col1","col2":"col2"}
Ursache:
Der Fehler tritt auf, weil die Aktion nicht den richtigen Datentyp zurückgibt. Das JSON-Plugin erwartet, dass die Aktion ein Objekt zurückgibt, das in das JSON-Format serialisiert werden kann. In diesem Fall gibt die Aktion jedoch ein benutzerdefiniertes Objekt zurück, das nicht serialisierbar ist.
Lösung:
Um dieses Problem zu beheben, können Sie den Root-Parameter in verwenden die Datei struts.xml, um das Stammobjekt anzugeben, das serialisiert werden soll. Das Stammobjekt muss ein öffentliches Feld oder eine Getter-Methode in der Aktionsklasse sein.
Beispiel:
<result type="json"> <param name="root">rows</param> </result>
In diesem Beispiel das Zeilenfeld in der Aktion Klasse ist das Stammobjekt, das in JSON serialisiert wird.
Zusätzlich Tipps:
Das obige ist der detaillierte Inhalt vonWarum gibt mein Struts2-JSON-Plugin-AJAX-Aufruf den Fehler „Aktion oder Ergebnis konnte nicht gefunden werden' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!