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-urlencoded
和mutipart/form-data
格式发送 - 文件上传用
mutipart/form-data
格式 - js代码可用支持任意格式发送
服务端接受
- 对
application/x-www-form-urlencoded
和mutipart/form-data
格式的数据,Spring接收方式统一,只需要用java bean
的属性名一一对应请求参数名即可 - 对于
application/json
格式的数据,Spring接收需要使用@RequestBody
+java bean
的方式
运行结果
参考:https://space.bilibili.com/37974444