工具代码如下:
public final class PageUtil {
private int perRecords = 10; //每页记录数
private int totalRecords; //总记录数
private int curPage = 1; //当前页数
private int totalPages; //总页数
private int remainderRecord; //最后一页不足记录
public PageUtil() {
}
/**
* @param totalRecords 总记录
* @param curPage 当前页数
* */
public PageUtil(int totalRecords, int curPage) {
this(totalRecords, 10, curPage);
}
/**
* @param totalRecords 总记录
* @param perRecords 每页记录数
* @param curPage 当前页数
* */
public PageUtil(int totalRecords, int perRecords, int curPage) {
this.totalRecords = totalRecords;
this.perRecords = perRecords;
this.curPage = curPage;
init();
}
public int getPerRecords() {
return perRecords;
}
public void setPerRecords(int perRecords) {
this.perRecords = perRecords;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
//计算总页数
public void init() {
if (totalRecords % perRecords == 0) {
totalPages = totalRecords / perRecords;
} else {
totalPages = totalRecords / perRecords + 1;
this.remainderRecord = perRecords - (totalRecords % perRecords);
}
}
/**
* 返回查找起始记录
* */
public int getStart() {
if (curPage < 1) {
curPage = 1;
}
if (curPage > totalPages) {
curPage = totalPages;
}
return ( curPage - 1 ) <= 0 ? 0 : (curPage - 1) * perRecords;
}
/**
* 返回查找终止记录
* */
public int getEnd() {
return perRecords;
}
/**
* 返回总页数
* */
public int getTotalPages() {
return totalPages;
}
/**
* 返回前一页
* */
public int getPrevPage() {
if (curPage > 1) {
return curPage - 1;
}
return 1;
}
/**
* 返回上一页
* */
public int getNextPage() {
if (curPage < totalPages) {
return curPage + 1;
}
return totalPages;
}
/**
* 返回最后一页
* */
public int getRemainderRecord() {
return remainderRecord;
}
public void setRemainderRecord(int remainderRecord) {
this.remainderRecord = remainderRecord;
}
/**
* 返回button类型的分页
* @param currentPageNo
* @param maxPageNo
* @return
*/
public static String getPageBtnlink(int currentPageNo, int maxPageNo) {
currentPageNo = currentPageNo > maxPageNo ? maxPageNo : currentPageNo;
int begainNo = currentPageNo - 5 > 0 ? currentPageNo - 5 : 1;
int endNo = begainNo + 9 > maxPageNo ? maxPageNo : begainNo + 9;
StringBuffer bf = new StringBuffer();
if (maxPageNo > 1) {
bf.append(currentPageNo > 1 ? ("
1 ? currentPageNo - 1 : 1) + "\" >上一页") : "
上一页");for (int i = begainNo; i <= endNo; i++) {if (i == currentPageNo) {bf.append("
" + i + "");} elsebf.append("
" + i+ "");}bf.append(currentPageNo < maxPageNo ? ("
maxPageNo ? maxPageNo : currentPageNo + 1) + "\" >下一页") : "
下一页");return bf.toString();}return "";}}
测试例子如下:
package com.anlt.test;
import com.anlt.util.PageUtil;
public class PageTest {
public static void main(String[] args) {
//总共100条记录 ,当前页为3
PageUtil p = new PageUtil(100,0);
System.out.println("+------------------------------------+");
System.out.println("总记录数:" + p.getTotalRecords());
System.out.println("每页记录数:" + p.getPerRecords());
System.out.println("总页数:" + p.getTotalPages());
System.out.println("当前页数:" + p.getCurPage());
System.out.println("最后一页不足记录数:" + p.getRemainderRecord());
System.out.println("查找记录区间limit=[" + p.getStart() + ","+ p.getEnd() + "]");
System.out.println("+------------------------------------+");
}
}
运行结果:
+---------------------------------------------------------------+
总记录数:102
每页记录数:10
总页数:11
当前页数:1
最后一页不足记录数:8
查找记录区间limit=[0,10]
+---------------------------------------------------------------+
分页样式page.css
/* CSS Document */
.pagination {
border-radius: 4px;
display: inline-block;
margin: 10px 0;
padding-left: 0;
}
/*右对齐*/
.page-link-content {
text-align: right;
}
.pagination > li {
display: inline;
}
.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination > li:first-child > a, .pagination > li:first-child > span {
border-bottom-left-radius: 4px;
border-top-left-radius: 4px;
margin-left: 0;
}
.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
background-color: #fff;
border-color: #ddd;
color: #999;
cursor: not-allowed;
}
.pagination > li > a, .pagination > li > span {
color: #888;
}
.pagination-sm > li > a, .pagination-sm > li > span {
font-size: 12px;
padding: 5px 10px;
}
.pagination > li > a, .pagination > li > span {
background-color: #fff;
border: 1px solid #ddd;
color: #428bca;
cursor: pointer;
float: left;
line-height: 1.42857;
margin-left: -1px;
padding: 6px 12px;
position: relative;
text-decoration: none;
}
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
background-color: #428bca;
border-color: #428bca;
color: #fff;
cursor: default;
z-index: 2;
}
分页页面page.html
- 上一页
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 下一页
页面运行结果:
更多推荐
java分页工具代码和html、css分页码样式
发布评论