数据绑定是将用户参数输入值绑定到领域模型(实体类)的一种特性,在SpringMVC的Controller和View参数数据传递中,在所有HTTP请求参数的类型均为字符串。如果模型需要绑定的类型为Double或Int,则需要手动进行类型转换,而有了数据绑定后,就不在需要手动将HTTP请求中的String类型转换为模型需要的类型,另一个好处是,当输入验证失败时(数据自动回填),会重新生成一个HTTP表单,无需重新填写输入字段。
-
数据绑定
数据绑定的含义:绑定请求参数输入值到领域模型,模型数据到视图的绑定(输入验证失败时),模型数据(实体类数据成员的具体值)到表单元素的绑定(如下列列表选项值有控制器初始化) -
数据绑定应用
必须在web.xml文件中增加编码过滤器
form表单的提交方式必须为post
domain函数
public class User {
private String[] userName;
private String[] hobby;
private String[] friends;
private String carrer;
private String houseRegister;
private String remark;
public String[] getUserName() {
return userName;
}
public void setUserName(String[] userName) {
this.userName = userName;
}
public String[] getFriends() {
return friends;
}
public void setFriends(String[] friends) {
this.friends = friends;
}
public String getCarrer() {
return carrer;
}
public void setCarrer(String carrer) {
this.carrer = carrer;
}
public String getHouseRegister() {
return houseRegister;
}
public void setHouseRegister(String houseRegister) {
this.houseRegister = houseRegister;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
}
Service层,包括添加用户和查询用户
public interface UserService {
boolean addUser(User u);
ArrayList<User> getUsers();
}
@Service
public class UserServicelmpl implements UserService{
private final ArrayList<User> users = new ArrayList<User>();
@Override
public boolean addUser(User u) {
// TODO Auto-generated method stub
if(!"IT民工".equals(u.getCarrer())) {
users.add(u);
return true;
}
return false;
}
@Override
public ArrayList<User> getUsers() {
// TODO Auto-generated method stub
return users;
}
}
Controller层
在UserController类中,通过**@Autowired注