一个非常好的内存分页解决方案

<html>

<table align="center" width="980">

       <caption>用户列表</caption>

       <tr>

           <th width="150">用户ID</th>

           <th width="200">姓名</th>

           <th width="200">帐号</th>

           <th width="230">创建时间</th>

           <th width="200">操作</th>

       </tr>

<%

    int pageSize = 10; //每页显示条数

    int recordCount = users.size(); //记录总数

 

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

    int currentPage = 1; //当前页

    if(currentPageStr != null) {

       currentPage = Integer.parseInt(currentPageStr);

    }

 

    PageUtil pageUtil = new PageUtil(pageSize, recordCount, currentPage);

%>

<%

    for(int i=pageUtil.getFromIndex(); i<pageUtil.getToIndex(); i++) {

       UserModel model = users.get(i);

%>

       <tr>

           <td><%=model.getUserId()%></td>

           <td><%=model.getName() %></td>

           <td><%=model.getAccount() %></td>

           <td><%=model.getCreateTime() %></td>

           <td><a href="modify.jsp?id=<%=model.getUserId() %>">修改</a> | <a href="delete.jsp?id=<%=model.getUserId() %>" onclick="return confirm('确定要删除该记录[用户ID<%=model.getUserId() %>]吗?');">删除</a></td>

       </tr>

<%

    }

%>

       <tr>

           <td colspan="8" align="right">

              记录总数 <%=recordCount %> 每页显示 <%=pageSize %> 当前页/总页数  <%=pageUtil.getCurrentPage() %>/<%=pageUtil.getPageCount() %> 

              <a href="index.jsp?page=1">首页</a>  

              <a href="index.jsp?page=<%=pageUtil.getPrevPage() %>">上页</a>

              <a href="index.jsp?page=<%=pageUtil.getNextPage() %>">下页</a>

              <a href="index.jsp?page=<%=pageUtil.getPageCount() %>">末页</a>

              跳到<input type="text" size="3" id="newPage"> <input type="button" value="Go" onclick="processGoPage()">

<script type="text/javascript">

    function processGoPage() {

       var newPage = document.getElementById("newPage").value;

       var reg = /\d+$/;

       if(!newPage.match(reg)){

           alert('页面格式非法!');

           document.getElementById("newPage").focus();

       }else {

           window.location.href="index.jsp?page="+newPage;

       }

    }

</script>

           </td>

       </tr>

    </table>

</html>

 

 

PageUtil

package com.runwit.common.util;

 

public class PageUtil {

   

    private int pageSize; //每页显示条数

    private int recordCount; //记录总数

    private int currentPage; //当前页

   

    public PageUtil(int pageSize, int recordCount, int currentPage) {

       this.pageSize = pageSize;

       this.recordCount = recordCount;

       setCurrentPage(currentPage);

       //this.currentPage = currentPage;

    }

 

    public PageUtil(int pageSize, int recordCount) {

       this(pageSize, recordCount, 1);

    }

   

    public int getRecordCount() {

       return recordCount;

    }

   

    public int getPageSize() {

       return pageSize;

    }

   

    public int getCurrentPage() {

       return currentPage;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值