我的struts分頁(yè)算法的實(shí)現有何特點(diǎn)?
??說(shuō)到分頁(yè)算法,一般WEB開(kāi)發(fā)都會(huì )用到,我只是在我的實(shí)現技術(shù)上用了struts框架,其實(shí)原理都一樣的??戳司W(wǎng)上相當多的分頁(yè)算法,有對的也有好多是錯的,更有好多是不太優(yōu)化的。還有以前自己在augmentum做的一個(gè)分頁(yè)算法,總結了一些不足。決定重新再寫(xiě)一個(gè)分頁(yè)算法。
??首先,應該寫(xiě)個(gè)bean來(lái)記錄存儲一些頁(yè)面的屬性分頁(yè)大致需要如下屬性: private int currentPage = 1; // 當前頁(yè) private int totalPages = 0; // 總頁(yè)數 private int pageRecorders = 5;// 每頁(yè)5條數據
private int totalRows = 0; // 總數據數 private int pageStartRow = 0;// 每頁(yè)的起始數 private int pageEndRow = 0; // 每頁(yè)顯示數據的終止數 private boolean hasNextPage = false; // 是否有下一頁(yè) private boolean hasPreviousPage = false; // 是否有前一頁(yè)
private int nextPage = 0;//下一頁(yè)的頁(yè)碼
private int previousPage = 0;//上一頁(yè)的頁(yè)碼然后這些屬性之間是有聯(lián)系的,我們可以在構造函數的時(shí)候就初始化一些屬性有兩種方法:一,根據總的頁(yè)數,(假設當前頁(yè)為1) public PageBean(int totalRows){
this。
??totalRows = totalRows;
this。currentPage = 1;
hasPreviousPage = false;
if ((totalRows % pageRecorders) == 0) {
totalPages = totalRows / pageRecorders;
} else {
totalPages = totalRows / pageRecorders + 1;
}
if (totalRows >= pageRecorders) {
hasNextPage = true;
nextPage = 2;
this。
??pageEndRow = pageRecorders;
} else {
this。pageEndRow = totalRows;
hasNextPage = false;
nextPage = 1;
}
this。pageStartRow = 0;
previousPage = 1; }。
??