使用 Ajax 将多个变量传递给 Spring MVC 控制器
当使用 @RequestBody 将多个变量传递给 Spring MVC 控制器时,它是无需将它们包裹在支持对象中。但是,有一些替代方法可以提供更大的灵活性或简化 JSON 数据的处理。
选项 1:使用 Map
如果您不强烈要求-类型化参数,可以使用 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中文网其他相关文章!