SpringMVC中controller接收json数据的方法

本文实例为大家分享了SpringMVC中controller接收json数据的方法,供大家参考,具体内容如下

1.jsp页面发送ajax的post请求:

function postJson(){
  var json = {"username" : "imp", "password" : "123456"};
  $.ajax({
    type : "post",
    url : "<%=basePath %>ajaxRequest",
    contentType : "application/json;charset=utf-8",
    dataType : "json",
    data: JSON.stringify(json),
    success : function(data){
      alert("username:"+data.username+"  id:"+data.id);
    },
    error : function(){
      alert("请求失败");
    }
  })
}

注意:

1.在发送数据时,data键的值一定要写成JSON.stringify(json),将数据转换成json格式,否则会抛出异常

2.basePath是项目根目录:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

2.controller接收请求:

  @ResponseBody
  @RequestMapping(value="/ajaxRequest",method=RequestMethod.POST)
  public User ajaxRequest(@RequestBody User user){
    System.out.println(user);
    return user;
  }

注意:

1.@ResponseBody修饰的方法返回的数据,springmvc将其自动转换成json格式,然后返回给前端

2.@RequestBody修饰目标方法的入参,可以将ajax发送的json对象赋值给入参。当然这里的入参user是我们自定义的实体类型。

3.最后将user返回,springmvc自动将其转换成json返回给前端

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。