1. 程式人生 > >spring controller介面中,用pojo物件接收頁面傳遞的引數,發現spring在對pojo物件賦值時,有一定順序的問題

spring controller介面中,用pojo物件接收頁面傳遞的引數,發現spring在對pojo物件賦值時,有一定順序的問題

1、我的專案中的實體類都繼承了基類entityBase,裡面封裝了分頁的一些屬性,pageindex、pagesize、pagerownum等。

2、思路是頁面可以靈活的傳遞分頁引數,比如當前頁pageindex=1、每頁總數pagesize=6等靈活請求資料。然後可以根據當前頁pageindex的賦值,來自動的計算出

mysql的分頁  limit pagerownum,pagesize中,從第幾行開始pagerownum的值。

3、問題就出在這裡,我的介面是用pojo物件來接收頁面傳遞的引數的,頁面每次傳參的話,spring都會先對pageindex屬性進行賦值,

pagesize引數在其後面才會賦值,這樣就導致了indexrownum(從第幾條開始)的值是錯誤的,

4、打比方介面傳遞了引數為:"xxxx?pageindex=2&pagesize=4",那麼在pageindex屬性會被最先賦值的情況下,pagesize的初始值是10,那麼

後,indexrownum的值就是10了。

而不是理想中的從第8條開始。最後才會對pagesize進行賦值,而這時候indexrownum的值已經賦值完成了。

 

解決辦法就是在setIndexsize()方法裡也同樣的來對indexrownum賦值一遍。這樣就保證了無論spring是先對pageindex賦值,還是pagesize,最後

都可以達到想要的正確分頁開始條數indexrownum