jsp分页计算总页数公式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp分页计算总页数公式相关的知识,希望对你有一定的参考价值。

我知道计算总页数公式如下:
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
计算总页数公式:intPageCount = (intRowCount+intPageSize-1) / intPageSize
但我不明白其中意义,(intRowCount+intPageSize-1) / intPageSize
等于:(记录总数+一页显示的记录数-1)/一页显示的记录数
要求得总页数,不就是用总记录数除以一页显示的记录数就可得出吗?
可公式为什么要这样算,减一又是什么意思,谁能给我详细讲解!某感谢不已!

主要是要考虑: 记录总数 除 一页显示的记录数 之后剩下的余数这部分,实际上这部分一般来说我们也算一页,所以要加上intPageSize,然而当正好总数和一页的记录数整除的时候就会对出一页来,所以我们要-1.不知道你明白没有 参考技术A intPageCount=(intRowCount+intPageSize-1)/intPageSize
1、如果遇到intRowCount整除intPageSize情况,(intRowCount+intPageSize-1)/intPageSize和intRowCount/intPageSize是相等的,因为是取整运算,如果不减1,那么(intRowCount+intPageSite)/intPageSize这样就多出了一页。
2、如果intRowCount不能整除intPageSize,实际页数应该是intRowCount/intPageSize+1.转换一下就是(intRowCount+intPageSize)/intPageSize。(intRowCount+intPageSize)/intPageSize和(intRowCount+intPageSize-1)/intPageSize答案是一样的,因为是取整运算。
理解上面公式,只需注意“/”代表取整运算。

jsp前端实现分页代码

前端需要订一page类包装,其参数为

private Integer pageSize=10; //每页记录条数=10

private Integer totalCount; //总记录条数

private Integer totalPage; //总页数

private Integer currPage; //当前页

private Integer startIndex; //开始索引

private List<M> list; //结果集

进行查询的数据set进对象,在运用ModelAndView对象

ModelAndView .addObject("page",page);

将page返回前台jsp,接受成功之后在其他页面直接引用jsp标签<jsp:include page="/page.jsp" />就可以调用

以下为jsp页面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 最下面显示跳转页面 -->
<!-- ${page.totalCount }总的记录条数  其他的类似,与Page.java相关联 -->
<div >
	
	共 <i class="blue">${page.totalCount }</i> 
	条记录,当前显示第 <i class="blue">${page.currPage }
	</i> 页 / 共 <i class="blue">${page.totalPage }</i> 页
	    跳转  
	<input type="text" class="scinput" 
	style="width: 40px;height: 20px" id="currPage2" onblur="page2()" 
	onkeyup="this.value=this.value.replace(/\D/g,‘‘)"
	onafterpaste="this.value=this.value.replace(/\D/g,‘‘)" />  页
	
     <!-- 首页按钮,跳转到首页 -->
    <p>  <c:if test="${page.currPage <= 1 }"></c:if> 
    <a href="javascript:;" <c:if test="${page.currPage > 1 }">onclick="page1(1)"</c:if> >首页</a>
    
    
    <!-- 上页按钮,跳转到上一页 -->
    <c:if test="${page.currPage <= 1 }"></c:if> 
    <a href="javascript:;" <c:if test="${page.currPage > 1 }">onclick="page1(‘${page.currPage - 1}‘)"</c:if> >上页</a>
    
    <!-- 下页按钮,跳转到下一页 -->
     <c:if test="${page.currPage >= page.totalPage }"></c:if> 
    <a href="javascript:;" <c:if test="${page.currPage < page.totalPage }">onclick="page1(‘${page.currPage + 1}‘)"</c:if> >下页</a>
    
    <!-- 末页按钮,跳转到最后一页 -->
     <c:if test="${page.currPage >= page.totalPage }"></c:if> 
    <a href="javascript:;" <c:if test="${page.currPage < page.totalPage }">onclick="page1(‘${page.totalPage}‘)"</c:if> >末页</a>
    </p>
    </div>










以上是关于jsp分页计算总页数公式的主要内容,如果未能解决你的问题,请参考以下文章

Java中如何实现分页功能

jsp开发业务应用

分页总页数计算公式

关于Java的分页算法,急!

Oracle+Jsp分页

jsp前端实现分页代码