`
kanpiaoxue
  • 浏览: 1777494 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ajax向springmvc传递对象参数

 
阅读更多

我们在使用前端的ajax技术过程中,有的时候简简单单的向后台的springmvn传递参数,直接使用如下代码即可:(jquery的ajax代码)

var options = {
    url: 'helloworld',
    method: 'get',
    dataType: 'json',
    data: {
        teamId: 123
    },
    success: function (rs) {
        // code here
    },
    error: function (rs) {
        // code here
    }
};
$.ajax(options);

 后台springmvc代码:

@RequestMapping(value = { "/helloworld" }, method = { RequestMethod.GET })
@ResponseBody
public Boolean helloworld(@RequestParam("teamId") Long teamId)  {
    LOGGER.debug("start to helloworld. teamId:{}", teamId);
   
    Boolean rs = null; // coder here
    LOGGER.debug("finish helloworld. teamId:{}", teamId);
    return rs;
}

 上面也是常用的情况。

但是有的时候我们需要用ajax向后台传递对象,该如何做呢?前端传递的是JavaScript的对象,而后台接收的是java的对象。springmvn为我们做好了由JavaScript对象到Java对象的json转换。如下:

var paramsArr = [];
for(var i = 0; i < 10; i++) {
    var obj = {
        id: i,
        name: 'name-' + i
    };
    paramsArr.push(obj);
}

var options = {
    url: 'helloworld',
    method: 'post', // 注意这里,传递对象给后台,这里必须是 POST 否则无法将对象封装到POST的body中流
    dataType: 'json',
    contentType: 'application/json', // 注意这里,传递对象给后台,这里必须是 application/json
    data: JSON.stringify(paramsArr), // 注意这里,传递对象给后台,这里必须将对象进行序列化
    success: function (rs) {
        // code here
    },
    error: function (rs) {
        // code here
    }
};
$.ajax(options);

 

class Person {
    private Long id;
    private String name;
    // setter / getter here
}

/**
 * 
 *  注意参数中的 @RequestBody。 它将会读取POST请求中的body中的数据流,然后JSON反序列化为java的对象。
 */
@RequestMapping(value = { "/helloworld" }, method = { RequestMethod.POST })
@ResponseBody
public Boolean helloworld(@RequestBody List<Person> persons)  {
    LOGGER.debug("start to helloworld. persons:{}", persons);
   
    Boolean rs = null; // coder here
    LOGGER.debug("finish helloworld. persons:{}", persons);
    return rs;
}

这样对象参数就能传递给后台了。

分享到:
评论

相关推荐

    ajax向springmvc传递json

    总结来说,Ajax向Spring MVC传递JSON涉及的主要步骤包括前端的数据序列化、Ajax请求的发起、服务器端的参数绑定、业务处理及响应的JSON化。理解并熟练掌握这一流程对于进行高效的前后端数据交互至关重要。在实际项目...

    springmvc 传递和接收数组参数的实例

    SpringMVC传递和接收数组参数的实例 在本文中,我们将详细介绍如何在SpringMVC中传递和接收数组参数。从 URL 中传递数组参数到 Controller 类中接收数组参数,我们将一步步地学习如何实现。 URL 中传递数组参数 ...

    springMvc集合接收参数的用法

    Spring MVC提供了多种方式来接收前端传递的数据,包括单独的参数、数组、列表以及自定义对象。本教程将重点讲解如何接收ajax和form表单传递的集合参数。 一、接收Ajax传递的集合参数 1. JSON格式数据:Ajax通常...

    springmvc3+json参数传递后台接收json参数

    "springmvc3+json参数传递后台接收json参数"这个主题涉及到的是如何使用Spring MVC 3版本接收前端通过JSON格式发送的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,...

    spring mvc利用ajax向controller传递对象的方法示例

    【Spring MVC 利用Ajax向Controller传递对象】在开发Web应用时,经常需要在前端与后端之间交换数据。Spring MVC框架提供了多种方式来处理这种交互,尤其是通过Ajax进行异步通信时。本文将深入探讨如何使用Ajax向...

    Spring MVC不能直接接收list类型参数的问题

    当前端使用 jQuery 向后台传递数组类型的参数时,Java 后台尝试直接通过 `List` 类型来接收这些参数,却发现无法取到任何数据。例如: **前端代码示例**: ```javascript $.ajax({ url: "xxxx", data: { areaList...

    SpringMVC Controller解析ajax参数过程详解

    在整个过程中,我们可以看到,SpringMVC Controller可以轻松地解析ajax参数,并将其封装到Java对象中,从而简化了前端和后端的交互过程。 以下是相关知识点: 1. SpringMVC Controller的工作原理:SpringMVC ...

    后台界面实时获取用户输入内容,springMVC+Ajax实现(源码)

    当事件触发时,使用JavaScript创建Ajax请求,设置URL为SpringMVC的Controller处理方法地址,并将用户输入作为参数传递。 2. **SpringMVC配置**:在SpringMVC的配置文件中,定义一个处理Ajax请求的Controller方法,...

    springMvc 前端用json的方式向后台传递对象数组方法

    在上述文章中,我们看到了一个具体的例子,展示了如何通过JSON格式从前端JSP页面传递对象数组到Spring MVC的后端Controller中。首先,前端使用jQuery的$.ajax方法进行异步HTTP POST请求。这个请求的类型(type)被...

    SpringMVC接收页面表单参数

    SpringMVC接收页面表单参数 SpringMVC是基于Java实现的 Model-View-Controller(MVC)模式的Web应用框架,它提供了许多强大和灵活的特性来处理Web请求。其中,接收页面表单参数是Web应用中非常常见的需求。下面...

    基于SpringMVC接受JSON参数详解及常见错误总结

    3. **SpringMVC参数绑定**:在SpringMVC中,可以使用多种方式接受JSON参数。一种常见的方法是使用@RequestParam注解,这个注解和Servlet中的request.getParameter方法有相似的功能。通过对控制器方法参数使用@...

    计算机课程设计 springMVC 使用SpringMvc,layui和ajax实现一个简单的增删改

    使用Ajax的$.ajax或$.post方法,向Controller发送请求,传递参数并接收返回结果。 7. 数据交互:当用户点击layui中的操作按钮时,通过Ajax将请求发送到SpringMVC的Controller,Controller调用Service完成增删改操作...

    spring mvc+ajax

    例如,我们可以创建一个AJAX函数,通过`$.ajax()`或`$.getJSON()`等方法向后台发送异步请求。这些请求通常带有特定的URL和参数,对应Spring MVC中的Controller方法。 在Controller中,我们需要定义一个可被Ajax调用...

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    - Controller方法接收参数,SpringMVC会自动将JSON数据转化为Java对象,通过`@RequestBody`注解注入到方法参数中。 - Controller处理业务逻辑后,可能需要返回JSON数据。通过`@ResponseBody`注解,SpringMVC会调用...

    SpringMVC 开发接口实例+json参数传递

    本教程将详细讲解如何使用SpringMVC开发接口并实现JSON参数的传递。 一、SpringMVC简介 SpringMVC是Spring框架的一部分,它为开发者提供了构建Web应用程序的模型-视图-控制器结构。通过分离关注点,SpringMVC使得...

    Spring+SpringMVC+MyBatis+Maven+EasyUI+Ajax+Json OA项目实例

    在"eyou"项目中,Json作为Ajax通信的数据载体,用于在前端和后端之间传递数据,简化了数据的序列化和反序列化过程。 综上所述,"eyou"OA项目通过整合这些技术,构建了一个功能完善、性能良好的企业级应用。它展示了...

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题

    在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何快速解决 SpringMVC @RequestBody 用map接收请求参数的问题。 ...

    springmvc-ajax-json

    在实际应用中,我们还可以处理POST请求,传递参数,处理分页、排序等复杂场景。此外,Spring MVC提供了ModelAndView、ModelMap等类来处理视图模型,而jQuery可以与各种前端模板库结合,生成动态HTML内容。在安全方面...

    _探讨Ajax获取表单值向Servlet传递的设计方案.doc

    本文探讨了 Ajax 获取表单值向 Servlet 传递的设计方案,包括了 XMLHttpRequest 对象的获取、GET 和 POST 方式的异步发送数据、回调函数的使用等内容,为开发者提供了一个实用的解决方案。 知识点: 1. Ajax 技术...

Global site tag (gtag.js) - Google Analytics