HTML元素

from可向Web服务器提交请求


普遍格式:

          
  • method请求方式有:
    • get(默认)提交时,数据跟在URL之后
    • post提交时,数据在请求体内
  • enctype在post请求时,指定数据的格式
    • application/w-www-form-urlencoded(默认)
    • multipar/from-data

主要实现

                          



男 女
唱歌 rep 篮球

Pojo类层代码
需要注意的是,定义的属性要和input中的name名称一一对应

点击查看代码
public class User{        private Integer id;        private String username;        private String password;        private String sex;        // 转换日期格式        @DateTimeFormat(pattern = "yyyy-MM-dd")        private Date birthday;        private List fav;        public Integer getId() {            return id;        }        public void setId(Integer id) {            this.id = id;        }        public String getUsername() {            return username;        }        public void setUsername(String username) {            this.username = username;        }        public String getPassword() {            return password;        }        public void setPassword(String password) {            this.password = password;        }        public String getSex() {            return sex;        }        public void setSex(String sex) {            this.sex = sex;        }        public Date getBirthday() {            return birthday;        }        public void setBirthday(Date birthday) {            this.birthday = birthday;        }        public List getFav() {            return fav;        }        public void setFav(List fav) {            this.fav = fav;        }                @Override        public String toString() {            return "User{" +                    "id=" + id +                    ", username='" + username + '\'' +                    ", password='" + password + '\'' +                    ", sex='" + sex + '\'' +                    ", birthday=" + birthday +                    ", fav=" + fav +                    '}';        }    }

Controller层代码

点击查看代码
@RestControllerpublic class TestController {    @RequestMapping("/test")    public String test(User user, MultipartFile file){        System.out.println("user:" + user);        System.out.println("file:" + file.getOriginalFilename());        return "success! ";    }}

数据格式

客户端发送

  • 编码
    • application/x-www-form-urlencoded : url编码
    • application/json : json编码
    • mutipart/form-data : 每部分编码可用不同
  • from表单只能支持application/x-www-form-urlencodedmutipart/form-data格式发送
  • 文件上传用mutipart/form-data格式
  • js代码可用支持任意格式发送

服务端接受

  • application/x-www-form-urlencodedmutipart/form-data格式的数据,Spring接收方式统一,只需要用java bean的属性名一一对应请求参数名即可
  • 对于application/json格式的数据,Spring接收需要使用@RequestBody + java bean的方式

运行结果

参考:https://space.bilibili.com/37974444