一: 导包:commons-beanutils…jar
建bean对象user
BeanUtils.populate(user,req.getParameterMap());
Date类型数据beanutils不识别,需要你定义转换器convert
定义转换器后试用期那需要注册
ConvertUtils.register(new MyDateConverter(), Date.class);
——————————————————————–
例题代码:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置请求编码集
req.setCharacterEncoding(“utf-8”);
//严格要求 表单项name 和 javabean的属性名必须一模一样
User user = new User();
//将 String 类型 转换java.util.Date类型 自定义转换器
//在封装数据之前 先注册转换器
ConvertUtils.register(new MyDateConverter(), Date.class);
try {
BeanUtils.populate(user, req.getParameterMap());
System.out.println(user);
} catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
——————————————————————–
public class MyDateConverter implements Converter{
//需要将 value 数据转换 arg0 的类型
// value 是String 类型 将String 转换 Date
@Override
public Object convert(Class arg0, Object value) {
String s = (String)value; //代表用户输入 生日
//定义格式
DateFormat dateFormat = new SimpleDateFormat(“yyyy年MM月dd日”);
try {
Object result = dateFormat.parse(s);
return result;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}