SpringMVC接受参数

2023年4月28日12:05:33

一.SpringMVC接受参数

  1. 语法:使用控制器方法的参数(形参),接受客户端的请求数据,
  2. 优点:完成类型的自动转换,定义不定长形式参数列表接受客户端请求数据
  3. 前台转递参数方式:
    Get方式传递参数,通过url传递;例如url?id=2&name=zhangsan
    Form表单post方式传递参数;
    例如:
   <form action="url" method="post">
           <input type="text" name="id"/>
           <input type="text" name="name"/>
           <buttom>commit</buttom>
   </form>
  1. 参数接受分类,采用Get方式:
    4.1 接受零散类型数据:后台在控制器方法中生命多个形参,保证接受的参数变量名和前台传递参数名变量一致。conteoller方法:
/***
     * 零散类型参数接收
     * url?id=2&name=zhangsan&sex=true
     * @return
     */
    @RequestMapping("/test")
    public String test(Integer id, String name, Boolean sex, @DateTimeFormat(pattern = "yyyy-MM-dd") Date bir){
        System.out.println("id =="+id+"== 姓名 =="+name+"== 性别 =="+sex+"日期" +bir);
        return "index";
    }

前端访问和后端打印结果,注:时间已特别定义格式为yyyy-MM-dd,所以浏览器访问时也需要按照特定格式;访问形式:
SpringMVC接受参数SpringMVC接受参数
4.2 接受对象类型数据:前台传递的参数形式,只需要保证传递参数名和接收的参数名变量名一致即可,将自动封装。conteoller方法:

//接收对象类型的参数
    @RequestMapping("/test1")
    public String test1(User user){
        System.out.println(user);
        return "index";
    }

如果对象中包含对象,前台访问时可标注对象。
访问形式:
SpringMVC接受参数SpringMVC接受参数

 4.3  接受数组或集合类型数据:将要接收数组作为控制器方法的参数声明即可;前端语法:要求前台传递的多个参数的参数名都要与接收的数组变量名一致,springMVC自动将多个变量名放入一个数组中,conteoller方法:
@RequestMapping("/test2")
    public String test2(String[] names){
        for (String name:names) {
            System.out.println(name);
        }
        return "index";
    }

访问形式:
SpringMVC接受参数

注:form表单方式:

 <form action="url" method="post">
           <input type="text" name="names"/>
           <input type="text" name="names"/>
           <buttom>commit</buttom>
   </form>

注意:springMVC不允许直接接收集合类型参数,但是允许间接接收(将接收的集合放入自定义的对象中完成参数接收)

    /***
     * 接收集合类型的参数
     * 将集合放入对象中接收
     * @return
     */
    @RequestMapping("/test3")
    public String test3(User user){
        user.getLists().forEach(str -> System.out.println(str));//lamda表达式
        return "index";
    }

  • 作者:离人的梦
  • 原文链接:https://blog.csdn.net/qq_38864315/article/details/111720605
    更新时间:2023年4月28日12:05:33 ,共 1447 字。