首页 > Java > java教程 > 如何在没有支持对象的情况下使用 Ajax 将多个变量传递到 Spring MVC 控制器?

如何在没有支持对象的情况下使用 Ajax 将多个变量传递到 Spring MVC 控制器?

Mary-Kate Olsen
发布: 2024-11-15 13:32:03
原创
450 人浏览过

How to Pass Multiple Variables to a Spring MVC Controller Using Ajax Without a Backing Object?

使用 Ajax 将多个变量传递给 Spring MVC 控制器

当使用 @RequestBody 将多个变量传递给 Spring MVC 控制器时,它是无需将它们包裹在支持对象中。但是,有一些替代方法可以提供更大的灵活性或简化 JSON 数据的处理。

选项 1:使用 Map

如果您不强烈要求-类型化参数,可以使用 Map对象直接接收 JSON 数据。这允许您通过键访问值:

@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 路径提取值。

其他注意事项:

  • 如果强类型参数是如果需要,您可以创建一个自定义 POJO 来表示预期的 JSON 结构,并使用 @RequestBody 绑定到它。
  • 对于简单的情况,在查询字符串中使用 @RequestParam 或在请求 URI 中使用 @PathVariable 可以更方便方便传递单个变量。

以上是如何在没有支持对象的情况下使用 Ajax 将多个变量传递到 Spring MVC 控制器?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板