Ich versuche, eine Ajax-Post-Anfrage zu schreiben, die eine Spring-Controller-Methode trifft und einige Anforderungs-Parameter liefert, von denen ein Array von JavaScript-Objekten ist: vendorBillingDetails. Diese JavaScript-Objekte haben eine passende Jaava-Domain-Klasse und ich möchte sie dieser Domain-Klasse zuordnen. Dies scheint etwas zu sein, was Spring MVC können sollte, aber bisher konnte ich nur Beispiele finden, die ein HTML-Formular mit nur einem Request-Parameter verwenden.Veröffentlichen eines Arrays von JavaScript-Objekten und Zuordnung zu Java-Domäne in Spring Controller Methode
Unten ist mein Controller und Ajax-Anfrage. Hoffentlich kann mir jemand sagen, wie man das richtig abbildet, da alles, was ich bisher versucht habe, gescheitert ist.
$.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
}
Funktioniert das auch mit meiner anderen TrackId als Eingabeparameter? – user2725919
Es sollte funktionieren, wenn Sie ein Wrapper-Objekt erstellen, das die TrackId und VendorBillingDetails enthält. – bhietpas
Ich kann jedoch nicht sicher über die einzelnen Params sagen. Ich müsste mich ändern und meine testen. – bhietpas