在Java Web開發過程中,會遇到很多的表單資料的送出和對表單資料的處理。而每次都需要對這些資料的字段進行一個一個的處理就顯得尤為繁瑣,在Java語言中,面向對象的存在目的便是為了消除重複代碼,減少我們程式員的負擔。是以,在這裡和大家分享一下我學到的一個小技巧。
這裡說的“封裝”,是指将從用戶端送出的表單資料封裝到一個bean層entitry中。這樣可以友善對資料的處理。下面就來看一個具體的bean執行個體化的小例子吧。
比如說我們從網頁上獲得使用者的登入資訊,一般來說是使用者名和密碼資訊,是以我們就可以将這兩個資料封裝到一個bean中。
下面是一個class類:
這樣就可以将資料封裝起來了。
這裡說的泛型是對于beanUtil層面的資料加工。這樣就可以使得其他人在調用該方法時不必再進行強制的類型轉換,這樣在一定的程度上加強了程式的安全性。比如下面這個代碼,就用到了泛型的操作。
public static T request2Bean(HttpServletRequest request, Class t ){
這裡面就是用到了反射的操作。通過參數獲得一個bean的位元組碼資訊,這裡面其實就是一個類的内部的所有資訊的實體。
BeanUtils是一個apache開源的一個項目,旨在幫助程式員減輕對字段資料的加工負擔。其使用方法非常簡單,但是需要注意的是需要commons-logging 包的支援。否則會報出程式的異常錯誤資訊。
如下:
這裡面的BeanUtils.setProperty(bean,name,value);就是處理方式。是不是很簡單啊,通過者一行代碼就可以将bean字段的屬性資訊添加到bean中并傳回。
至此,本篇部落格的講解就結束了。下面一起來看一看一個實用的案例吧。
打開chrome浏覽器,輸入tomcat伺服器上的對應的網址,然後為了更加真實的模仿實際項目中的情景,我們就直接在URL位址上添加parameter吧,如下:

然後打開伺服器終端terminal,然後就可以看到如下資訊:
由此,我們的這個“基于表單資料的封裝,泛型化,反射操作,就完成了。
總結:
使用BeanUtils進行操作的時候需要注意對包的處理。
反射操作的時候需要注意位元組碼的轉換方式。
在靜态方法中使用泛型需要進行聲明。
注意代碼邏輯的靈活使用!