javascript - spring4.3.7 ajaxで渡されるリストなどの複合型パラメータを取得する方法
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:25:28
0
3
568

Spring 4.3.7 は、Ajax によって渡されたリストなどの複雑な型をどのように受け取るのですか?
直接渡すと報告されます

org.springframework.beans.InvalidPropertyException: Bean クラス [cn.xxx.entity.UAnswerList] の無効なプロパティ
'uAnswers0': インデックス付きプロパティ パス 'uAnswers0' で参照されるプロパティは
配列でもリストでもマップでもありません; 戻り値は
[cn.xxx.entity.UAnswer@2d3e47ed]

オンライン ソリューションを検索したところ、それらは基本的に過去のものであり、ほとんどが 3.x のものであることがわかりました。

1. ジャクソンジャーパッケージを追加します:

リーリー

2.xmlの設定

リーリー

1 つは AnnotationMethodHandlerAdapter が廃止され、もう 1 つは依然としてエラーを報告しているということです。

org.springframework.web.util.NestedServletException: リクエスト
の処理が失敗しました。ネストされた例外は

org.springframework.beans.InvalidPropertyException: Bean クラス [cn.xxx.entity.UAnswerList]:
Property のプロパティ
'uAnswers0' が無効ですインデックス付きプロパティ パス 'uAnswers0' で参照されているものは、配列でもリストでもマップでもありません。戻り値は
[cn.xxx.entity.UAnswer@70671304] です


詳細なコードは次のとおりです:

1.UAnswerクラス
リーリー

2.UAnswerListクラス
リーリー

3.コントローラー

リーリー

4. Ajax シミュレートされたデータ

リーリー

Ajaxのデータ結合形式の問題も考えられますが、今のところ解決方法がわかりません。 。

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(3)
黄舟

使用@RequestBody UAnswerList uAnswers

いいねを押す +0
伊谢尔伦

リーリー

いいねを押す +0
漂亮男人

2 か所を変更する必要があります:

  1. 次のように @RequestBody アノテーションを使用して、http 本文コンテンツの使用を示します:

リーリー
  1. js 側は json を使用してデータを送信する必要があるため、次のように application/json タイプを指定し、JSON.stringify を使用してオブジェクトを json 形式に変換する必要があります:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート