springMVC传递JSON格式数据

来源:互联网 发布:mac怎么设置主页 编辑:程序博客网 时间:2024/04/29 02:08

      这两天在使用SpringMVC传递JSON数据格式,出现了各种令人头大的问题,但是功夫不负有心人,最后还是解决了问题。在这里记录下来供大家参考,如有不对,还请各位大侠指正。

      在SpringMVC传递JSON数据格式需要加入两个jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar。

   实体JavaBean:Person  具有tname,gender,age 三个String类型的属性,在这里我们需要特别注意,Person需要一个无参构造函数,否则就会出现415代码错误。

   前台ajax函数:

               $.ajax({
url:"ajaxs",//注意在这里的请求路径上面不能加上“/”否则就会出现400错误,无法找到请求路径
type:"POST",
contentType: "application/json",//不加此项就会出现415错误代码
dataType:"JSON",
data:JSON.stringify({"tname":"张三","gender":"male","age":"20"}),//在这里的参数我最开始一直都使用

   {"tname":"张三","gender":"male","age":"20"},结果导致一直出现400错误,表示前台到后台的数据不匹配
success:function(data,status){alert("ok");},
error:function(){alert("error");},
fail:function(){alert("fail");}
});

   

     后台:

         @RequestMapping(value="/ajaxs",method=RequestMethod.POST)
   @ResponseBody
   public Person ajax(@RequestBody Person p)
   {
    p.setTname("lisi");
    System.out.println("ok");
    return p;
   }

    在这里我不得不叹服SpringMVC的强大,仅仅使用@Requestbody和@ResponseBody就能实现javabean与JSON数据格式之前的传递。可能我们在网上查到说,在使用springMVC中使用JSON格式传递的时候需要配置一些数据转换器之类的东西,但是在SpringMVC3.X以后我们仅仅只需要一个 <mvc:annotation-driven/>就可以将各种数据转换器加入进来。

     

                  

1 0
原创粉丝点击