首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将ajax中的FormData和JSON对象传递给Spring MVC Controller?

在Spring MVC中,可以通过以下步骤将ajax中的FormData和JSON对象传递给Controller:

  1. 创建一个前端页面,包含一个表单和一个按钮,用于提交数据。
  2. 使用JavaScript中的FormData对象来收集表单数据。FormData对象可以自动将表单中的数据转换为键值对的形式。
  3. 将FormData对象转换为JSON对象。可以使用JavaScript中的JSON.stringify()方法将FormData对象转换为JSON字符串。
  4. 使用ajax发送POST请求到Spring MVC的Controller。在ajax请求中,将JSON字符串作为请求体发送给Controller。
  5. 在Spring MVC的Controller中,使用@RequestParam注解来接收JSON字符串。将其转换为Java对象。
  6. 在Controller中进行相应的业务处理,并返回结果。

下面是一个示例代码:

前端页面代码:

代码语言:html
复制
<form id="myForm">
  <input type="text" name="name" />
  <input type="text" name="age" />
  <button type="button" onclick="submitForm()">Submit</button>
</form>

<script>
function submitForm() {
  var formData = new FormData(document.getElementById("myForm"));
  var jsonData = JSON.stringify(Object.fromEntries(formData));

  $.ajax({
    url: "/example",
    type: "POST",
    data: jsonData,
    contentType: "application/json",
    success: function(response) {
      // 处理响应结果
    }
  });
}
</script>

Spring MVC Controller代码:

代码语言:java
复制
@Controller
public class ExampleController {

  @PostMapping("/example")
  @ResponseBody
  public String handleRequest(@RequestParam String jsonData) {
    // 将JSON字符串转换为Java对象
    ObjectMapper objectMapper = new ObjectMapper();
    try {
      ExampleData exampleData = objectMapper.readValue(jsonData, ExampleData.class);
      // 进行业务处理
      // ...
      return "Success";
    } catch (IOException e) {
      e.printStackTrace();
      return "Error";
    }
  }
}

其中,ExampleData是一个自定义的Java类,用于存储表单数据的Java对象。

这是一个简单的示例,你可以根据实际需求进行相应的修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传

概述 关于结合Spring + Spring MVC 实现文件上传下载,之前总结了几篇 Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload) Spring...MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能) Spring MVC-09循序渐进之文件上传(基于Servlet3.0+Html5客户端上传文件) Spring MVC-10循序渐进之文件下载...(); // 和后端约定好,利用shopImg和 shopStr接收 shop图片信息和shop信息 formData.append('shopImg',shopImg); // 转成JSON...格式,后端收到后将JSON转为实体类 formData.append('shopStr',JSON.stringify(shop)); // 将数据封装到formData发送到后台 formData.append...接收并转换相应的参数,包括shop信息和图片信息 省略...... // 1.2 图片信息 基于Apache Commons FileUpload的文件上传 // Spring MVC

74740
  • Spring4.0MVC学习资料,Controller中的方法详解和使用(四)

    在以前,mvc的框架,基本上就是struts框架了。但是现在不一样了。springmvc出来了。spring的mvc框架不亚于struts了,springmvc出来了,我们有了更多的选择。...Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。...使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。...通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。...Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

    41320

    SpringMvc的工作原理

    (本章暂不介绍):用于将请求参数转换到命令对象属性的对应类型   6.7 @RequestBody(重要~~~~~):用于目前比较流行的ajax开发的数据绑定(即提交数据的类型为json格式) 7....(Command 请求参数绑定到的对象就叫命令对象)   4.7 表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象) 5....6.4.1 可用@ModelAttribute标注方法参数,方法参数会被添加到Model对象中(作用:向视图层传数据)     6.4.2 可用@ModelAttribute标注一个非请求处理方法...,此方法会在每次调用请求处理方法前被调用(作用:数据初始化)     6.4.3 可用@ModelAttribute标注方法,方法返回值会被添加到Model对象中(作用:向视图层传数据) 但此方法视图的逻辑图就会根据请求路径解析...controller中则不用使用"/"从根目录开始,而如果是在不同的controller则一定要从根目录开始。

    1.2K10

    SpringMVC01之入门

    Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。 2. SpringMVC处理请求的流程 2.1 工作原理:  1....命令对象(Command 请求参数绑定到的对象就叫命令对象) 4.8 表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象) 5....:请求参数到命令对象的绑定       常用参数:value     6.4.1 可用@ModelAttribute标注方法参数,方法参数会被添加到Model对象中(作用:向视图层传数据)    ...~~~~~):用于目前比较流行的ajax开发的数据绑定(即提交数据的类型为json格式) 注1:使用@RequestBody注解的时候,前台的Content-Type必须要改为application...注2:还有就是如果是在同一controller中则不用使用"/"从根目录开始,而如果是在不同的controller则一定要从根目录开始。

    1.3K20

    SSM学习笔记之SpringMVC

    的不同方法; 随着项目需求复杂化,基于BaseServlet已经无法满足项目管理和开发的需求,这时候就需要引入web开发框架了; 0x02 SpringMVC概述 /** Spring MVC是由Spring...官方提供的基于MVC设计理念的web框架 Spring MVC是基于Servlet封装的用于实现MVC控制的框架,实现前端和服务端的交互。...的包(包需要在Spring注解扫描的范围内) 创建一个类(无需做任何的继承和实现) 在类上添加@Controller注解声明此类为SpringMVC的控制器 在类上添加@RequeMapping("/url...4.4.1 请求行传值 表单提交method="get" URL提交 $.ajax请求的url传值 $.ajax({ url:这里拼接url,把参数放url就是请求行传值, type:...控制器方法的返回类型设置为响应给ajax请求的对象类型 在控制器方法前添加一个@ResponseBody注解,将返回的对象转换成json格式返回给ajax请求 如果一个控制器类中的所有方法都是响应ajax

    8.1K20

    抛开深层次底层,快速入门SpringMVC

    ----   但其实很多时候我们接收到的都是AJAX传递过来的Json对象,完整解析后再给前端传出Json串,供前端使用JS进行渲染,这个时候我们的返回值就可以为Map、List、String类型的值。...注:@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。...然而在ajax请求往往传的都是Json对象,后来发现用JSON.stringify(data)的方式就能将对象变成字符串。...同时ajax请求的时候也要指定dataType: "json",contentType:"application/json"这样就可以轻易的将一个对象传到Java端,使用@RequestBody即可绑定对象...:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的

    49130

    Spring学习笔记(八)——SpringMVC响应数据和结果视图

    响应数据和结果视图 1. 返回值分类 1. 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址。...返回值是ModelAndView对象 ModelAndView对象是Spring提供的一个对象,可以用来调整具体的JSP视图 具体的代码如下 /** * 返回类型是ModelAndView对象...json响应 System.out.println("testJson,,,"); //客户端发送ajax请求,传的是json字符串,spring已经把json封装到User..."); user.setAge(99); return user; } 5. json字符串和JavaBean对象互相转换的过程中,需要使用jackson的jar...json响应 System.out.println("testJson,,,"); //客户端发送ajax请求,传的是json字符串,spring已经把json封装到User

    60420

    《SpringMVC从入门到放肆》十二、SpringMVC自定义类型转换器

    之前的教程,我们都已经学会了如何使用Spring MVC来进行开发,掌握了基本的开发方法,返回不同类型的结果也有了一定的了解,包括返回ModelAndView、返回List、Map等等,这里就包含了传统的开发方式...,和写接口的开发方式。...传参我们也学了简单参数和复杂参数的传递和接收,但是在参数传递过程中,常常需要把表单中的参数映射到我们对象的属性中,比如前台传的是2018-01-01字符串,可是我们的实体类中定义的是Date类型的变量,...的配置Bean方法来实例化Bean,则需要在该类型转换器的类上加@Component注解,目的是为了让Spring自动扫描该转换器到容器中。...$.ajax({ type: "POST", url: "${pageContext.request.contextPath}/test/add", data: JSON.stringify

    93220

    springmvc笔记_SpringMVC优点

    在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 实现Controller接口 Controller是一个接口,在org.springframework.web.servlet.mvc...("/t2") public String index(Model model){ //Spring MVC会自动实例化一个Model对象用于向视图中传值 model.addAttribute("msg...JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方法获取”键:值”对的个数和判断是否为空。...JSON代表 JSONObject和JSONArray的转化 JSON类源码分析与使用 仔细观察这些方法,主要是实现json对象,json对象数组,javabean对象,json字符串之间的相互转化。...通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON – 同时您能够把这些外部数据直接载入网页的被选元素中。

    4.6K10

    关于Spring 和 Spring MVC的43个问题【问题汇总】

    Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。...spring mvc是一个基于mvc的web框架。spring mvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。 7.如何启用注解?...3 pojo绑定 页面中input的name和controller的pojo形参中的属性名称一致,将页面中数据绑定到pojo。...注意ajax中contentType如果不设置为json类型,则传的参数为key/value类型。上面设置后,传的是json类型。 29.拦截器? 1)....控制反转和依赖注入的基本思想就是把类的依赖从类内部转化到外 部以减少依赖 应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。

    2.2K10

    推荐学java——SpringMVC第一课

    [1646297645127-image.png] SpringMVC 概述 Spring MVC 是 Spring 框架中的一个模块,也是 Spring 的核心之一,常用作 web 开发,其底层是 Servlet...因为内内部架构模式是 mvc 架构,故此称为 Spring MVC . SpringMVC 是一个容器,管理界面层中的控制器对象,使用 ioC 技术。...(代替之前的 servlet),这里要使用注解 @Controller 和 @RequestMapping 创建展示结果的 jsp 页面 创建 SpringMVC 的配置文件(和 Spring 配置文件类似...请求中参数名和方法形参名不一致 tips:上面传参我们请求中的参数名和 Controller 中方法的形参名是一致的,那如果不一致,如何保证能收到请求中的参数值呢?..."> MyController.java中增加如下方法: /** * 演示 用java对象接收 带参数的请求 * 要求:请求中的参数名和java对象中的属性名一致、java对象中提供无参构造方法

    1.5K50
    领券