今回は、spirngmvc js を使用して複雑な json パラメーターをコントローラーに転送する方法と、spirngmvc js を使用して複雑な json パラメーターをコントローラーに転送する際の注意点について説明します。以下は実際的なケースです。一見。 Spring MVCはコレクション
リクエストパラメータを受信する際にControllerメソッドのコレクションパラメータの前に@RequestBodyを追加する必要があり、@RequestBodyで受け取るenctype(MIMEエンコーディング)はデフォルトでapplication/jsonなので送信時に必須となります。 POST リクエスト リクエスト ヘッダー情報を設定します。設定しないと、Spring MVC はコレクション リクエスト パラメーターを解析するときに、それを自動的に JSON データに変換し、対応するコレクションに解析しません。 次に、List
1. ページ JS コード:
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. ユーザーエンティティクラス:
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=deleteCatalogSchemes") @ResponseBody public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") List<String> idList,Boolean isBatch) { … } }
2. ページjsコード:
public class User { private String name; private String pwd; //省略getter/setter }
List
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){
…
}
});
は、ユーザー (リストを含む Bean) コレクション パラメーターを受け取ります:
1. ユーザー エンティティ クラス:
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveUsers") @ResponseBody public AjaxJson saveUsers(@RequestBody List<User> userList) { … } }
2. コントローラー メソッド:
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){ … } });
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:
AngularJS で $http サービス Post メソッドを使用して json パラメータを渡す方法
vue で Npm run build を使用して環境に応じてさまざまなパラメータを渡す方法
以上がspirngmvc js を使用して複雑な json パラメーターをコントローラーに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。