jsp分页处理


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="cn.com.gnnt.test.Pager"%> <% int pageSize = 10; int pieceSize = 5; String pageName = "pager.jsp"; //当前页码 String s = request.getParameter("currentPage"); int currentPage = 0; if(s!=null) { currentPage = Integer.parseInt(s); } //模拟数据 List<String> list = (List<String>)session.getAttribute("list"); if(list == null || list.size() == 0) { list = new ArrayList<String>(); Random r = new Random(); for(int i=0;i<100;i++) { list.add("Hello, I'm " + ((char)('A' + r.nextInt(26))) + ". " + i); } session.setAttribute("list", list); } //模拟数据 Pager pager = new Pager(list.size(), pageSize, pieceSize); pager.setCurrentPage(currentPage); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Pager.jsp' starting page</title> <style type="text/css"> <!-- a {text-decoration: none;} .thinBorder{border-collapse:collapse;} .thinBorder th{background:#ffffff;border:solid 1px #000000;} .thinBorder td{background:#ffffff;border:solid 1px #000000;} --> </style> <script type="text/javascript"> function jump(currentPage) { var cp = document.getElementById(currentPage).value; cp = parseInt(cp) - 1; window.location='<%=pageName%>?currentPage='+ cp; } </script> </head> <body> <!-- 分页展示数据 --> <div id="pagerData"> <table width="100%" class="thinBorder"> <tr> <th width="50px">编号</th> <th>内容</th> </tr> <% for(int i=pager.getCurrentStart();i<pager.getCurrentEnd();i++) { %> <tr> <td><%=i + 1%></td> <td><%=list.get(i)%></td> </tr> <% } %> </table> <table> <tr> <td><div> <% if(pager.isFirstPage()) { %> 首页|上一页| <% } else { %> <a href="<%=pageName%>?currentPage=0">首页</a>| <a href="<%=pageName%>?currentPage=<%=pager.getCurrentPage() - 1%>">上一页</a> <% if(!pager.isFirstPiece()) { int cp = pager.getCurrentPage() - pager.getPieceSize(); %> <a href="<%=pageName%>?currentPage=<%=cp%>">···</a> <% } } for(int i=pager.getPageStart();i<pager.getPageEnd();i++) { if(i==pager.getCurrentPage()) { out.print(i + 1 + ""); } else { %> <a href="<%=pageName%>?currentPage=<%=i%>"><%=i + 1%></a> <% } } %> <% if(pager.isLastPage()) { %> 下一页|末页| <% } else { if(!pager.isLastPiece()) { int cp = pager.getCurrentPage() + pager.getPieceSize(); if(cp >= pager.getPageCount()) { cp = pager.getPageCount() - 1; } %> <a href="<%=pageName%>?currentPage=<%=cp%>">···</a> <% } %> <a href="<%=pageName%>?currentPage=<%=pager.getCurrentPage() + 1%>">下一页</a>| <a href="<%=pageName%>?currentPage=<%=pager.getPageCount()%>">末页</a> <% } %> </div></td> <td><div> <input type="text" id="currentPageNo" name="currentPageNo" size="2" title="输入页码,按回车快速跳转" value="<%=currentPage + 1%>" οnkeydοwn="if(event.keyCode==13) {jump('currentPageNo')}" /> <input type="button" value="跳转" οnclick="jump('currentPageNo')"/> </div></td> <td><div> 第<%=pager.getCurrentPage() + 1%>页/共<%=pager.getPageCount()%>页 总记录数:<%=pager.getTotalCount()%>条, <%if(pager.getTotalCount()==0){out.print("无显示");}else{%>显示第 <%=pager.getCurrentStart() + 1%>条到第<%=pager.getCurrentEnd()%>条记录<%}%> </div></td> </tr> </table> </div> <!-- 分页展示数据 --> </body> </html>


其他分页方式:

用jsp进行数据分页显示的一个实现(http://www.ibm.com/developerworks/cn/java/l-jspdisp/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值