Java中如何實現分頁功能?

雖然現在有很多好用的框架,對分頁進行支持,很簡單的就把分頁的效果做出來,但是如果手動實現分頁效果又如何呢。

一、分頁的思路

首先我們得知道寫分頁代碼時的思路,保持思路清晰,有步驟的進行,才能行雲如水。先來看看分頁的效果

 

這就是一個分頁導航,其中能得到的數據有

totalRecord:總共員工數,數據庫中總的記錄數,這裏有55條

totalPage:總頁數,11頁

pageSize:每頁顯示的記錄數,這裏可以看到每頁顯示5條

pageNum:當前頁爲第幾頁,比如圖中就爲第9頁,因爲9是沒有超鏈接的,

start:總共能顯示5頁,讓用戶進行點擊,7爲起始頁

end:11爲能顯示的尾頁,也就是,如果用戶點擊第8頁,那麼start就爲6,end就爲10,每次都只有5頁共點擊查詢。

每次能夠得到對應頁數所需要的5條數據,等等這些數據都要在jsp中顯示出來,也就是說,每次都要從後臺拿那麼多數據過來進行顯示,所以我們就想辦法把這些數據封裝在一個javabean當中,每次後臺都將查詢到的數據放入javabean對象中,我們只需要將該對象存入request作用域,然後在jsp頁面中從域中獲取需要的數據即可。

二、創建PageBean存放數據

PageBean.java

總共需要8個屬性pageNum、pageSize、totalRecord、totalPage、startIndex、list、start、end,

pageNum、pageSize、totalRecord:通過構造方法就能得到。pageNum請求頁面提交過來的參數,pageSize是自己設置的,totalRecord是查詢數據庫得到的

totalPage、startIndex、start、end是通過內部算法得出,

list需要通過查詢數據庫在通過set方式得到。

注意:該類使用泛型是爲了不僅僅在這個項目中使用,在別的項目中也同樣可以使用,

小編是一個有着5年工作經驗的java程序員,對於java,自己有做資料的整合,一個完整學習java的路線,學習資料和工具,相信這裏有很多學習java的小夥伴,我創立了一個2000人學習扣羣,479121291。每晚都有java的直播課程。無論是初級還是進階的小夥伴小編我都歡迎!

代碼如下

View Code

三、在service層編寫業務邏輯代碼

其實就是在該層將我們所需要的PageBean對象構建好,返回給上一層

User類是我們需要顯示的數據的封裝後的javabean。

四、Servlet中編寫控制代碼

五、JSP中顯示數據,構建分頁導航

因爲將我們所有需要的數據都封裝在了pageBean中,pageBean對象又在request域中,所以在jsp頁面中,我們只需要拿到我們所需要的數據,進行顯示即可,構造導航圖需要注意的有一點,邏輯要搞清楚,想要顯示什麼不想顯示什麼,全屏自己控制了,只需要記得一點,在請求Servlet時,需要把請求的頁碼交給服務器。不然服務器不知道你要獲得第幾頁的數據。

我做的導航圖的邏輯代碼

顯示所有員工數量、總頁數

首先超鏈接

如果當前頁爲第一頁時,就沒有上一頁這個超鏈接顯示

如果當前頁不是第一頁也不是最後一頁,則有上一頁和下一頁這個超鏈接顯示

如果當前頁是最後一頁,則只有上一頁這個超鏈接顯示,下一頁沒有

尾頁超鏈接、

代碼

View Code

六、總結

其實分頁真的很簡單,難點就在一個地方,javabean的構建,只要理清楚了pageBean中需要哪些屬性,各種屬性的作用是什麼,那麼分頁就so easy了。還有一個就是在jsp中寫分頁導航時的邏輯,不要混亂了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章