controller方法参数与html表单对应
规则
1. 绑定机制
- 表单提交的数据都是k=v格式的 username=haha&password=123
- SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的,要求:提交表单的name和参数的名称是相同的
2. 支持的数据类型
- 基本数据类型和字符串类型
- 实体类型(JavaBean)
- 集合数据类型(List、map集合等)
2.1 基本数据类型和字符串类型
- 提交表单的name和参数的名称是相同的,区分大小写
2.2 实体类型(JavaBean)
提交表单的name和JavaBean中的属性名称需要一致
如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name
给集合属性数据封装
2.3 集合数据类型(List、map集合等)
List:使用list[0],list[1]…,其中list是固定写法
Map:以Map<String,Entity>为例,前端jsp页面应为map[‘keyName’].entityName,这也是固定写法,必须这么写
0. User实体类
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class User implements Serializable {
private static final long serialVersionUID = -292375206744176903L;
private String username;
private String password;
private Integer age;
private Fun fun;
private List<Fun> list;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday;
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", age=" + age +
", fun=" + fun +
", list=" + list +
", birthday=" + birthday +
", map=" + map +
'}';
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
private Map<String, Fun> map;
public Map<String, Fun> getMap() {
return map;
}
public void setMap(Map<String, Fun> map) {
this.map = map;
}
public List<Fun> getList() {
return list;
}
public void setList(List<Fun> list) {
this.list = list;
}
public Integer getAge