zoukankan      html  css  js  c++  java
  • Spring框架深入(七)--json数据交互

    @RequestBody和@ResponseBody

      1、@RequestBody:可以直接将json格式的数据绑定为对象类型;用于前台向后台传递数据;

      2、@ResponseBody:可以直接将响应中的对象类型返回为json格式的数据;

      3、案例:

       (1)、pojo对象类型的转换:

        这儿有一个实体类

    public class User {
        private int id;
        private String name;
        private String password;
    }

        一段ajax代码  

    $(document).ready(function(){
        var user1={'id':'1','name':'admin1','password':'123'};    
        $("#mybtn").click(function(){
            $.ajax({
                url:"test5.action",
                type:"post",
                dataType:"json",
                contentType:"application/json",
                data:JSON.stringify(user1),
                success:function(data){
                    console.log(data);
                },
                error:function(){
                    console.log("111");
                }
            });
        });
    });

        一个Controller方法:

    @RequestMapping(value="/test5.action",method=RequestMethod.POST)
    @ResponseBody
    public User test5(@RequestBody User user) {
        System.out.println(user);
        return user;//将user自动作为json返回
    }

        结果:

        

        

       (2)、List列表类型的转换

    $(document).ready(function(){
            var user1={'id':'1','name':'admin1','password':'123'};
            var user2={'id':'2','name':'admin2','password':'123'};    
            var arr=[];
            arr.push(user1);
            arr.push(user2);        
            $("#mybtn").click(function(){
                $.ajax({
                    url:"test5.action",
                    type:"post",
                    dataType:"json",
                    contentType:"application/json",
                    data:JSON.stringify(arr),
                    success:function(data){
                        console.log(data);
                        $.each(data,function(index,item){
                            var name=data[index].name;
                            alert(name);
                        });
                    },
                    error:function(){
                        console.log("111");
                    }
                });
            });
        });
    @RequestMapping("/test6.action")
    @ResponseBody
    public List<User> test6(@RequestBody List<User> users){
        System.out.println(users);
        return users;
    }

        结果:

        

        

    PS:因作者能力有限,如有误还请谅解;

  • 相关阅读:
    哈希表-环形链表
    双链表
    文本框值是否为空,有就隐藏提示语,反之显示
    常用正则
    jquery遍历赋值
    动态更改地址栏参数
    截取地址栏参数
    java.lang.NoSuchMethodException
    文字超出范围隐藏,改变隐藏“...”颜色
    网页设定定时自动跳转
  • 原文地址:https://www.cnblogs.com/WHL5/p/9120507.html
Copyright © 2011-2022 走看看