最近的專案常常會進行大量的 form 存取,若欄位少時,直接塞值丟到 DAO裡面也還OK,
但是動輒五六十個欄位就吃不消了,因此查詢了一下 BeanUtils 的用法,有兩個網址可以提供參考:
Jini 版的介紹
http://www.softleader.com.tw/epaper030412.htm
Bean Introspection Utilities (Version 1.7)
http://jakarta.apache.org/commons/beanutils/api
而我常用到的 mathod是
1. PropertyUtils.getSimpleProperty(Obj, "fieldname");
2. BeanUtils.copyProperties(distObj , fromObj);
第一個 PropertyUtils.getSimpleProperty 相當好用,只要傳入 Bean 的物件、及欄位名稱,再加以轉型,就可以得到您想要的值。
例:
for (int i = 0; i < list.size(); i++) {
Object clazz = list.get(i);
String seqNo = (String) PropertyUtils.getSimpleProperty(clazz, "seqNo");
}
BeanUtils.copyProperties 則是兩個 Bean 物件的複製,想把 Form 的值丟到 Persistence-Object時,該method發揮的很好。
例:
IftIpdordfbForm infoform = (IftIpdordfbForm) form;
IftIpdordfb iftIpd = new IftIpdordfb();
BeanUtils.copyProperties(iftIpd , infoform);
dao.save(iftIpd);
0 意見:
張貼留言