逐个参数接收
只要保证请求参数名与该请求处理方法的参数名相同即可
SpringMVC 绑定请求参数是自动实现的,但是要想使用,必须遵循使用要求:
1、如果是基本类型或者 String类型
要求我们的参数名称必须和控制器中方法的形参名称保持一致。(严格区分大小写)
2、如果是 POJO类型,或者它的关联对象:
要求表单中参数名称和 POJO 类的属性名称保持一致。并且控制器方法的参数类型是 POJO 类型
就比如在一个对象中的某一个属性是引用类型的,封装这个属性时,需要和这个对象属性名保持一致。
public class User {
public class Account implements Serializable {
private Integer id;
private String name;
private Float money;
private Address address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Float getMoney() {
return money;
}
public void setMoney(Float money) {
this.money = money;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
这个address是引用类型的,页面传入参数进入需要属性保持一致。
a
校正请求参数名@RequestParam
所谓校正请求参数名,是指若请求 URL 所携带的参数名称与处理方法中指定的参数名不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请 求 URL所携带参数的名称。
对象参数接收
将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性同名即可
/**
* 属性名要和请求中的参数名一样
*/
public class user {
private String username;
private int age;
private String birthday;
private String sex;
private String tellphone;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getTellphone() {
return tellphone;
}
public void setTellphone(String tellphone) {
this.tellphone = tellphone;
}
@Override
public String toString() {
return "user{" +
"username='" + username + '\'' +
", age=" + age +
", birthday='" + birthday + '\'' +
", sex='" + sex + '\'' +
", tellphone='" + tellphone + '\'' +
'}';
}
}