シナリオ:
AJAX で Struts2 JSON プラグインを使用しています呼び出しましたが、応答は JSON データを返しません。代わりに、次のエラー メッセージが表示されます。
org.apache.struts2.dispatcher.Dispatcher - Could not find action or result No result defined for action action.Part and result {"col1":"col1","col2":"col2"}
原因:
このエラーは、アクションが正しい種類のデータを返さないために発生します。 JSON プラグインは、アクションが JSON 形式にシリアル化できるオブジェクトを返すことを期待します。ただし、この場合、アクションはシリアル化できないカスタム オブジェクトを返しています。
解決策:
この問題を解決するには、次のルート パラメータを使用できます。 struts.xml ファイルを使用して、シリアル化する必要があるルート オブジェクトを指定します。ルート オブジェクトは、アクション クラスのパブリック フィールドまたはゲッター メソッドである必要があります。
例:
<result type="json"> <param name="root">rows</param> </result>
この例では、アクションの rows フィールドclass は、JSON にシリアル化されるルート オブジェクトです。
追加ヒント:
以上がStruts2 JSON プラグインの AJAX 呼び出しで「アクションまたは結果が見つかりません」エラーが返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。