當前位置:首頁 » 網頁前端 » 前端頁碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端頁碼

發布時間: 2022-05-01 04:44:03

1. 前端開發 需要根據把後台數據列表 分頁顯示

搭建項目分頁

1.jsp頁面

<tr>

<td bgcolor="#00ffff" colspan="10" align="center">

第${pager.currentPage}頁

每頁${pager.pageSize} 條記錄

共${pager.totalPages}頁

共${pager.totalRows} 條

<a href="servlet/UserServlet?num=1&page=1" >首頁</a>

<a href="servlet/UserServlet?num=1&page=${pager.currentPage-1}">上一頁</a>

<a href="servlet/UserServlet?num=1&page=${pager.currentPage+1}">下一頁</a>

<a href="servlet/UserServlet?num=1&page=${pager.totalPages}">末頁</a>

</td>

</tr>

2.拼接sql語句

SELECT * FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM

SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM student) A WHERE ROWNUM <=15)WHERE RN >=11 ORDER BY ENTERDATE


分頁sql:SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM) A WHERE ROWNUM <=15)WHERE RN >=11 ORDER BY ENTERDATE


3.分頁工具類導入到common包:Pager.java


在servlet調用:第一個條件:總條數 第二個條件:當前頁數


String page = request.getParameter("page");

//分頁調用開始--------------------------------

Pager pager = new Pager();

int totalRows = userService.getCountRows();

pager.setTotalRows(totalRows);

if(null != page){

pager.setCurrentPage(Integer.parseInt(page));

}else{

pager.setCurrentPage(1);

}

request.setAttribute("pager", pager);//給頁面分頁賦值

4.把pager工具類傳遞到,拼接執行動態分頁sql語句

開始條數:pager.getStartRow()

結束條:pager.getCurrentPage()*pager.getPageSize()


String sql="SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM) A WHERE ROWNUM <="+pager.getCurrentPage() *pager.getPageSize()+")WHERE RN >="+pager.getStartRow();//分頁sql 1-3條

分頁根本條件:

private int totalRows; //總行數

private int pageSize = 5; //每頁顯示的行數

private int currentPage=1; //當前頁號

private int totalPages; //總頁數

private int startRow; //當前頁在資料庫中的起始行

private int endRow; //資料庫執行sql的結束行


totalPages演算法:

if(totalRows<=pageSize){

totalPages=1;

}else{

totalPages=(totalRows+pageSize-1)/pageSize;

}

startRow; 演算法:

startRow=(currentPage-1) * pageSize+1;

endRow; endRow=currentPage* pageSize;

2. 關於前端分頁的一些問題

你可以後端寫個服務方法,這個方法返回的內容就是分頁數組信息,然後前端頁面 在頁面開始載入時,利用 ajax 非同步請求這個服務方法獲取到 分頁信息。