html页面怎么把数据分页显示

html页面怎么把数据分页显示,第1张

数据分页,我以前有用过基于jquery的datatables对table列表进行分页, 效果还挺不错。

所以,要看你针对的元素,然后在github上搜索js pagination,会有很多不同用途的项目,选择适合自己的就行。

搭建项目分页

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工具类传递到dao,拼接执行动态分页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

endRowendRow=currentPage* pageSize

分页不是用标签实现的 我是用php语言实现的 里面涉及到一点点算法的知识 如果你以前学过php 具体的思路是 1 记录一共有多少条

2 每页显示多少条记录

3 当前页是第几页

4 当前页与前后页之间的关系

5 建议你去查查资料 这个东西需要自己实践 毕竟涉及到算法 要自己体会 代码我就不贴了 兄弟连和php100里面都有 个人建议看兄弟连的php完美分页类


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/8317904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存