Heim > Artikel > Web-Frontend > js implementiert die Übergabe komplexer JSON-Parameter an den Controller
Wenn Spring MVC Sammlungsanforderungsparameter empfängt, muss @RequestBody vor den Sammlungsparametern der Controller-Methode hinzugefügt werden. Der von @RequestBody standardmäßig empfangene Enctype (MIME-Codierung) ist application/json, daher muss der Anforderungsbericht vorhanden sein Wird beim Senden einer POST-Anfrage festgelegt, andernfalls konvertiert Spring MVC diese nicht automatisch in JSON-Daten und analysiert sie dann beim Parsen der Sammlungsanforderungsparameter in die entsprechende Sammlung.
Im Folgenden sind einige relativ komplexe Sammlungen aufgeführt, die die Parameter Listf7e83be87db5cd2d9a8a0b8117b38cd4, List4c8e0c17c3bd7e0081bb17cc795e1984, Lista06c5c2dfccfdea21bf0b155d9343663>, User[] und User (Bean enthält Liste) erhalten Beispiel:
empfängt den Listf7e83be87db5cd2d9a8a0b8117b38cd4-Code der Seite:
2 >Receive List4c8e0c17c3bd7e0081bb17cc795e1984, User[]-Sammlungsparameter:var idList = new Array(); idList.push(“1”); idList.push(“2”); idList.push(“3”); var isBatch = false; $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=deleteCatalogSchemes", dataType: 'json', data: {"idList":idList,"isBatch":isBatch}, success: function(data){ … }, error: function(res){ … } });
1. Benutzer-Entitätsklasse:
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=deleteCatalogSchemes") @ResponseBody public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") Listf7e83be87db5cd2d9a8a0b8117b38cd4 idList,Boolean isBatch) { … } }
2. Seiten-JS-Code:
3 . Controller-Methode:public class User { private String name; private String pwd; //省略getter/setter }Wenn Sie das User[]-Array erhalten möchten, müssen Sie nur den Parametertyp von saveUsers in @RequestBody User[] userArray ändern.
var userList = new Array(); userList.push({name: "李四",pwd: "123"}); userList.push({name: "张三",pwd: "332"}); $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=saveUsers", data: JSON.stringify(userList),//将对象序列化成JSON字符串 dataType:"json", contentType : 'application/json;charset=utf-8', //设置请求头信息 success: function(data){ … }, error: function(res){ … } });
Receive Lista06c5c2dfccfdea21bf0b155d9343663> Sammlungsparameter:
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveUsers") @ResponseBody public AjaxJson saveUsers(@RequestBody List<User> userList) { … } }1. Seiten-JS-Code (Benutzerobjekt wird nicht benötigt):
2. Controller-Methode:
Benutzer-Sammlungsparameter (Bean enthält Liste):var userList = new Array(); userList.push({name: "李四",pwd: "123"}); userList.push({name: "张三",pwd: "332"}); $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=saveUsers", data: JSON.stringify(userList),//将对象序列化成JSON字符串 dataType:"json", contentType : 'application/json;charset=utf-8', //设置请求头信息 success: function(data){ … }, error: function(res){ … } });
1. Benutzer-Entitätsklasse:
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveUsers") @ResponseBody public AjaxJson saveUsers(@RequestBody Lista06c5c2dfccfdea21bf0b155d9343663> listMap) { … } }
2 🎜>
3. Controller-Methode:
public class User { private String name; private String pwd; private List<User> customers;//属于用户的客户群 //省略getter/setter }
Verwandte Empfehlungen:
var customerArray = new Array(); customerArray.push({name: "李四",pwd: "123"}); customerArray.push({name: "张三",pwd: "332"}); var user = {}; user.name = "李刚"; user.pwd = "888"; user. customers = customerArray; $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=saveUsers", data: JSON.stringify(user),//将对象序列化成JSON字符串 dataType:"json", contentType : 'application/json;charset=utf-8', //设置请求头信息 success: function(data){ … }, error: function(res){ … } });ASP.NET zum Abrufen von Controller, URL und Aktion in MVC Erklärung der Methode
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveUsers") @ResponseBody public AjaxJson saveUsers(@RequestBody User user) { List<User> customers = user.getCustomers(); … } }
Das obige ist der detaillierte Inhalt vonjs implementiert die Übergabe komplexer JSON-Parameter an den Controller. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!