1. 程式人生 > >用戶註冊問題

用戶註冊問題

set per 基本 exc AR xxxx form mce setprop

Map<String,String[]> properties=request.getParameterMap();
User user=new User();
//自己指定一個類型轉換器(將String轉成Date)
ConvertUtils.register(new Converter(){
@Override
public Object convert(Class clazz,Object value){
//將string轉成date
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");

Date parse=null;
try {
parse=format.parse(value.toString());
}catch (ParseException e){
e.printStackTrace();
}
return parse;
}
},Date.class);
//映射封裝
BeanUtils.populate(user,properties);

上面三行代碼是用來將一些 key-value 的值(例如 hashmap)映射到 bean 中的屬性。映射的過程就是將頁面中的內容先用request獲得,
然後再將之轉換為Map(這裏用request.getParameterMap())最後使用BeanUtils.populate(info,map)方法將頁面各個屬性映射到bean中。
之後我們就可以這樣使用bean.getXxxx()來取值了。
但是BeanUtils的populate、copyProperties方法或者getProperty,setProperty方法
其實都會調用convert進行轉換但Converter只支持一些基本的類型,甚至連java.util.Date類型也不支持。這個時候就需要給類型註冊轉換器。對於Date類型,我在此實現了一個Converter
而SimpleDateFormat
是對時間日期處理的格式化工具類

用戶註冊問題