2007年8月5日 星期日

BeanUtils 學習資源分享

最近的專案常常會進行大量的 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 意見: