SpringMVC的收参方式

该文章详细介绍了在SpringMVC框架下处理HTTP请求时,包括通过数据类型、实体类、Ajax接收数组/集合、接收Json数据、接收多个对象、Json接收多个对象以及使用Map接收动态参数等七种不同的参数接收方式。每种方式都配以代码示例,展示了如何从前端获取并处理各种类型的参数。
摘要由CSDN通过智能技术生成

//第一种收取参数的方式:数据类型收取参数

    @RequestMapping("/reg")

    @ResponseBody  //这个注解的意思是 返回给前端的json数据

    public Map reg(String adminName, String adminPwd, String adminPwdR) {

        System.out.println("adminName = " + adminName);

        System.out.println("adminPwd = " + adminPwd);

        System.out.println("adminPwdR = " + adminPwdR);

        Map codeMap = new HashMap();

        if (!adminPwd.equals(adminPwdR)) {

            codeMap.put("code", "4001");

            codeMap.put("msg", "你输入的密码和重复密码不一致,注册失败");

            return codeMap;

        }

        if (adminName.length()<=0) {

            codeMap.put("code", "4402");

            codeMap.put("msg", "adminName表单填写完整");

            return codeMap;

        }

        if (adminPwd.length()<=0){

            codeMap.put("code", "4402");

            codeMap.put("msg", "adminPwd表单填写完整");

            return codeMap;

        }

        codeMap.put("code", 0);

        codeMap.put("msg", "注册成功");

        return codeMap;

    }

第二种收取参数的方式:实体类收取参数(传参

    //第二种收取参数的方式叫做:实体类收取参数(传参)

    @RequestMapping("/regByBean")

    public Map regByBean(AdminInfo adminInfo){

        System.out.println("adminInfo = " + adminInfo);

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "注册成功");

        return codeMap;

    }

第三种收取参数的方式:ajax 收取数组/

//第三种收取参数的方式:ajax 收取数组/集合

    @RequestMapping("/ajax03")

    @ResponseBody

    public Map ajax03(@RequestParam("ids[]") List<Integer> ids){  //前端 ids[] 后台ids

        //当前后端的参数不一致时,需要注解进行调整

        for (Integer id : ids) {

            System.out.println("id = " + id);

        }

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "注册成功");

        codeMap.put("data", ids);

        return codeMap;

    }

第四种收取参数的方式:ajax 接收json数据

@RequestMapping("/ajax04")

    @ResponseBody

    public Map ajax04(@RequestBody  AdminInfo adminInfo){   //@RequestBody 注解就是指的是 前端用json请求

        System.out.println("adminInfo = " + adminInfo);

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "请求访问成功");

        codeMap.put("data", adminInfo);

        return codeMap;

    }

第五种收取参数的方式:接收前端传来的多个对象

@RequestMapping("/ajax05")

    @ResponseBody

    public Map ajax05(@ModelAttribute Lover lover, @ModelAttribute Dog dog){  //ModelAttribute 模型绑定

        System.out.println("lover = " + lover);

        System.out.println("dog = " + dog);

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "请求访问成功");

        codeMap.put("data1", lover);

        codeMap.put("data2", dog);

        return codeMap;

    }
 

第六种收取参数的方式:json 收取多个对

//@GetMapping("/ajax06")

    @RequestMapping("/ajax06")

    @ResponseBody     //@GetMapping 不能和 @ResponseBody 同时使用,无法拿到参数

    public Map ajax06(@RequestBody List<Lover> loverList){  //@RequestBody 他是方法体中拿取的数据,所以不能使用Get请求!!

        for (Lover lover : loverList) {

            System.out.println("lover = " + lover);

        }

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "请求访问成功");

        codeMap.put("data", loverList);

        return codeMap;

    }

第七种收取参数的方式:收取map集合传

@RequestMapping("/ajax07")

    @ResponseBody    //十分常用,servlet 多表的动态参数获取,就是用的map  可以搞定一切!!!

    public Map ajax07(@RequestBody Map map){

        System.out.println("map的adminName = " + map.get("adminName"));

        Map codeMap = new HashMap();

        codeMap.put("code", 0);

        codeMap.put("msg", "请求访问成功");

        codeMap.put("data", map);

        return codeMap;

    }

第八种收取参数的方式:收取对象+常用类型

@RequestMapping("/ajax08")

    @ResponseBody

    public Map ajax08(Lover lover, @RequestParam(value = "limit", required = false, defaultValue = "5") Integer pageSize, Integer page){  //@RequestParam 默认  defaultValue = "5" 5页  required = false 为false时参数可带可不带

        System.out.println("lover = " + lover);

        System.out.println("page = " + page);

        System.out.println("pageSize = " + pageSize);

        return null;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值