public class PaginationClass<T> implements Serializable{
public PaginationClass(){}
public PaginationClass(PaginationClass<T> page){
this.currentPage=page.getCurrentPage();
this.pageSize=page.pageSize;
this.startRow=pageSize*(currentPage-1)+1;
this.endRow=this.startRow+pageSize-1;
}
public PaginationClass(int currentPage,int pageSize){
this.currentPage=currentPage;
this.pageSize=pageSize;
this.startRow=pageSize*(currentPage-1)+1;
this.endRow=this.startRow+pageSize-1;
}
private static final long serialVersionUID = 4008467432343431266L;
private int total;//总记录数
private int totalPage;//总页数
private int currentPage;//当前页,从1开始
private int pageSize;//页大小
private List<T> objects;//页数据
private int startRow;//起始行,从1开始计数
private int endRow;//结束行,从1开始计数
public int getTotalPage() {
totalPage=total/pageSize;
if(total%pageSize!=0)
totalPage=totalPage+1;
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public List<T> getObjects() {
return objects;
}
public void setObjects(List<T> objects) {
this.objects = objects;
}
public int getStartRow() {
return startRow;
}
public void setStartRow(int startRow) {
this.startRow = startRow;
}
public int getEndRow() {
return endRow;
}
public void setEndRow(int endRow) {
this.endRow = endRow;
}
}
freemarker的分页模板:
<#macro p page totalpage totalrecord=0 maxsteps=6>
<#assign ipage=page?string("##")?number>
<#if maxsteps <= 0>
<#assign maxsteps=5>
</#if>
<#assign offset = ((ipage - 1) / maxsteps)?int>
<#assign offsetLast = ((totalpage - 1) / maxsteps)?int>
<#-- url附加参数的判断 -->
<#assign requestParams = "">
<#if (Parameters?? && Parameters?keys?size >0)>
<#list Parameters?keys as paramKey>
<#if (paramKey!="page")>
<#assign requestParams = requestParams+'&' +paramKey+"="+ Parameters[paramKey]?url("iso-8859-1")>
</#if>
</#list>
</#if>
<#-- 总记录-->
<a class="disabled">总计 ${totalrecord!''} 条记录</a> <a class="disabled">共 ${totalpage} 页</a>
<#-- 首页 -->
<#if ipage gt 1>
<a href="?page=1${requestParams}"><<</a>
<#else>
<a class="disabled"><<</a>
</#if>
<#-- 前组-->
<#if offset gt 0>
<a href="?page=${(offset * maxsteps)?string("##")}${requestParams}">…</a>
<#else>
<a>…</a>
</#if>
<#-- 当前组中的页号-->
<#if (offset + 1) * maxsteps < totalpage>
<#assign pagelist = (offset + 1) * maxsteps>
<#else>
<#assign pagelist = totalpage>
</#if>
<#if ipage gt 0 && ipage lte totalpage>
<#list (offset * maxsteps + 1)..pagelist as num>
<#if ipage != num>
<a href="?page=${num?string("##")}${requestParams}">${num?string("##")}</a>
<#else>
<a class="current">${num?string("##")}</a>
</#if>
</#list>
</#if>
<#-- 下组 -->
<#if offset lt offsetLast>
<a href="?page=${((offset + 1) * maxsteps + 1)?string("##")}${requestParams}">…</a>
<#else>
<a>…</a>
</#if>
<#-- 尾页 -->
<#if ipage lt totalpage>
<a href="?page=${totalpage?string("##")}${requestParams}">>></a>
<#else>
<a>>></a>
</#if>
<#-- 前一页 -->
<#if ipage gt 1>
<a href="?page=${(ipage - 1)?string("##")}${requestParams}">上一页</a>
<#else>
<a class="上一页">上一页</a>
</#if>
<#-- 后一页 -->
<#if ipage lt totalpage>
<a href="?page=${(ipage + 1)?string("##")}${requestParams}">下一页</a>
<#else>
<a class="下一页">下一页</a>
</#if>
</#macro>
模板引用分页:
<@pageguide.p page=page totalpage=totalpage total=total/>
分享到:
相关推荐
经典的java分页类,快来下载吧!!!!!
简述 此包可根据需要不同设置 在线分页 与 离线分页 使用在线分页 办法 直接调用 public List showPage(int pageSize,int page,ArrayList<Object> list) 方法即可。 使用离线分页 办法 调用 public boolean ...
java 分页类
包含3个java分页实现,本人收集打包,其中有一个为转载别人的最强大的java分页
page.java java分页工具类
Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类
一个简单的分页类 计算 首页 下页 上页 尾页
文档为Java中进行分页的结构,使用了常见的分页结构,以用来返回给前段指定分页范围的数据。
跟我上面的java底层简易封装配套的。有需要的也可以学习下。
就一个java类 调用一个方法就实现分页效果 能够简单实现分页
java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类
只需要在控制器中 判断参数 可以在类中 增加函数 添加功能
日常开发中使用比较频繁的分页功能(java实现源码)
Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页
JAVA分页大全 包括了众多的分页方法struts分页...
java 通用分页java 通用分页java 通用分页java 通用分页
自己简单的做了一个初级分页,可以直接拿去应用,希望有帮助
分页 jsp分页类 java代码 web 分页 分页代码