Spring Controllerメソッドにヒットするajaxポストリクエストを作成しようとしています。このリクエストの1つはJavaScriptオブジェクトの配列vendorBillingDetailsです。これらのJavaScriptオブジェクトには一致するJaavaドメインクラスがあり、このドメインクラスにマップしたいと思います。これはSpring MVCができるはずのようですが、これまでのところ私はたった1つのリクエストパラメータでHTMLフォームを使っている例しか見つけられませんでした。JavaScriptオブジェクトの配列とSpringドメインのJavaドメインへのマッピングメソッド
以下は私のコントローラとajaxリクエストです。私がこれまでに試したことがすべて失敗したので、誰かがこれを正しくマップする方法を教えてくれるでしょう。
$.ajax({
url : '/ui/clearBilling',
type : 'POST',
data : { "trackId": trackId, "vendorBillingDetails": vendorBillingDetails, "_csrf": csrf },
async : true,
success : function(data) {
jqAlert("Selected item(s) were cleared");
},
fail: function(e) {
jqAlert("There was an error with the request");
}
});
});
@RequestMapping(value = "/clearBilling", method = RequestMethod.POST)
public @ResponseBody String setClearVendorBillingPO(@RequestParam BigInteger trackId, @RequestParam(value = "vendorBillingDetails[]") List<VendorBillingDetail> vendorBillingDetails, HttpServletRequest request) {
//TODO stuff
}
これは私の他のtrackIdを入力パラメータとしても使えますか? – user2725919
これは、trackIdとvendorBillingDetailsを保持するラッパーオブジェクトを作成する場合に有効です。 – bhietpas
私は別々のparamsに関して確かに言うことができません。私は見直すために鉱山を変更して試験しなければならないだろう。 – bhietpas