使用BeanUtils複製bean的屬性,和將request的屬性設定到bean中
- 使用目的
javaweb開發中,需要將request中的屬性新增的bean中,或者需要將表單bean中的屬性複製到model中,為了省事,可以使用BeanUtils類 - 需要的jar包
commons-beanUtils.jar,commons-logging.jar - 提取request中的屬性
//建立一個Bean UserModel
UserModel bean = new UserModel();
try{
//取出request中的所有屬性
Enumeration<String> e = request.getParameterNames();
//遍歷
while (e.hasMoreElements()) {
String name = e.nextElement();
String value = request.getParameter(name);
//設定到bean中
BeanUtils.setProperty(bean, name, value);
}
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
- 表單中的內容複製到UserModel中
UserModel user = new UserModel();
try {
// 註冊字串到日期的轉換器,可以將字串複製到Date型別中
ConvertUtils.register(new DateLocaleConverter(), Date.class);
//複製form中的內容到user中,屬性名相同的會複製
BeanUtils.copyProperties(user, form);
} catch (Exception e) {
e.printStackTrace();
}