利用反射,泛型,靜態方法快速獲取表單值到Model

2022-05-01 03:09:07 字數 912 閱讀 7891

在專案中經常需要處理表單,給model賦值,很煩人的一些重複**。如下邊的**:

news news = new news();    

news.id = int.parse(request.form["id"]);

news.category = int.parse(request.form["category"]);

news.title = request.form["title"];

news.createtime = datetime.parse(request.form["createtime"]);

經常還會出現寫錯情況,尤其是加班寫這種無聊**的時候... 

使用反射,泛型,靜態方法可以很容易解決這個問題。說的好像有點高深,其實超級簡單。見**。

public static class henqpost where t: new()    

catch

}

}

return va;

}

}

只所以用靜態方法,主要是圖方便,不用new。 

以後所有的表單都可以很簡單的處理了,兩行**搞定。

news news = new news();    

henqpost.getpost(ref news, request.form);

//煩人的為實體類賦值就over了。

不需要任何配置,約定是最好的配置。 

約定:表單項的名稱最好和實體類的屬性名字對應(如果你要不一樣,反射方法根據自己的規則改造下)。 

為表單賦值,如果是webform的話也可以採取這種方式,可以自己寫下,原理差不多。

reference from : 

JAVA 泛型類和泛型方法(靜態方法泛型)

泛型類定義的泛型,在整個類中有效。如果被方法是用,那麼 泛型類的物件明確要操作的具體型別後,所有要操作的型別就已經固定了。為了讓不同的方法可以操作不同型別,而且型別還不確定。那麼 可以將泛型定義在方法上。泛型類class demo public void print t t class generi...

JAVA 泛型類和泛型方法(靜態方法泛型)

泛型類定義的泛型,在整個類中有效。如果被方法是用,那麼 泛型類的物件明確要操作的具體型別後,所有要操作的型別就已經固定了。為了讓不同的方法可以操作不同型別,而且型別還不確定。那麼 可以將泛型定義在方法上。泛型類class demo public void print t t class generi...

java 如何通過反射獲取泛型類

核心 編寫在父類中 public class basedaoimplimplements basedao 省略具體的操作.應用場景 目標 為了實現 的重用性,編寫了父類介面basedao和父類方法basedaoimpl,想用basedaoimpl類實現運算元據庫共有的增刪改查。問題 因此父類方法必須...