用list分頁時會遇到一個問題:用戶先選好頁碼,再傳條件查詢的時候,會導致查詢的那一頁有可能什么都沒有。這時候我們給他當前查詢的最后一頁的內容會比較友好。
int pageSize; //用戶查詢的每頁多少條 int pageNo; //用戶查詢的頁數 List list; //數據庫查詢結果 int offset = (pageNo-1)*pageSize; int total = list.size(); int limit = total - offset; if(list!=null && total>0){ //查詢當頁無數據,需要顯示最后一頁的內容 if(limit<=0){ offset = total%pageSize==0?(total/pageSize)-1*pageSize:total/pageSize*pageSize; list.subList(offset, total); //正常查詢,查詢當頁有數據 }else{ limit = pageSize > limit ? limit : pageSize; list.subList(offset, offset + limit); } }