Ajax を使用して Spring MVC コントローラーに複数の変数を渡す
@RequestBody を使用して Spring MVC コントローラーに複数の変数を渡す場合、次のようになります。それらをバッキングオブジェクトでラップする必要はありません。ただし、より柔軟性を高めたり、JSON データの処理を簡素化できる代替アプローチがあります。
オプション 1: マップを使用する
強く要求しない場合は、型付きパラメータの場合は、Map
@RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody Map<String, String> json) { //json.get("str1") == "test one" }
このアプローチでは、カスタム バッキング オブジェクトは必要なく、任意のキーで JSON データを処理できます。
オプション 2: Jackson の ObjectNode
を使用して、より柔軟にバインドできます。 com.fasterxml.jackson.databind.node.ObjectNode を使用して、完全な JSON ツリーとして JSON データにアクセスします。
@RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody ObjectNode json) { //json.get("str1").asText() == "test one" }
このアプローチにより、JSON データを動的に処理し、JSON パスに基づいて値を抽出できます。
その他考慮事項:
以上がバッキングオブジェクトなしでAjaxを使用して複数の変数をSpring MVCコントローラーに渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。