beanUtils----简单使用(将日期也注册进来)
一、导包
二、写index.jsp
提交表单
<body>
<form method="post" action="RegisterServlet">
账号:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
邮箱:<input type="text" name="email"><br>
电话:<input type="text" name="phone"><br>
地址:<input type="text" name="address"><br>
生日:<input type="text" name="birthday"><br>
<input type="submit" value="注册">
</form>
</body>
写UserBean
public class UserBean {
private String username;
private String password;
private String email;
private String phone;
private String address;
private Date birthday;
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 getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "UserBean [username=" + username + ", password=" + password + ", email=" + email + ", phone=" + phone
+ ", address=" + address + ", birthday=" + birthday + "]";
}
}
创建Servlet和MyDateConverter类进行注册
//只针对post有效
request.setCharacterEncoding("UTF-8");
try {
//注册自己的日期转换器
ConvertUtils.register(new MyDateConverter(), Date.class);
//转化数据
Map map = request.getParameterMap();
UserBean bean = new UserBean();
BeanUtils.populate(bean, map);
System.out.println("22222bean="+bean.toString());
} catch (Exception e) {
e.printStackTrace();
}
public class MyDateConverter implements Converter {
@Override
// 将value 转换 c 对应类型
// 存在Class参数目的编写通用转换器,如果转换目标类型是确定的,可以不使用c 参数
public Object convert(Class c, Object value) {
String strVal = (String) value;
// 将String转换为Date --- 需要使用日期格式化
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(strVal);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}