分页的正确打开方式
如何优雅的进行分页 下面记录一种分页的方法,可能不是很优美,将就着能用,下面这个类将Jfinal类中的内容拷贝了过来,并且添加了三个属性,分别是起始页码,终止页码和显示按钮数量.
package com.runda.utils;
import java.util.List;
import com.jfinal.plugin.activerecord.Page;
public
class MyPage <T > {
private
int firstIndex;
private
int lastIndex;
private
int viewedIndex;
private List<T> list;
private
int pageNumber;
private
int pageSize;
private
int totalPage;
private
int totalRow;
public MyPage (Page<T> page, int viewedIndex) {
this .list = page.getList();
this .pageNumber = page.getPageNumber();
this .pageSize = page.getPageSize();
this .totalPage = page.getTotalPage();
this .totalRow = page.getTotalRow();
this .viewedIndex = viewedIndex;
this .firstIndex = (pageNumber <= viewedIndex /
2 +
1 ?
1 : (pageNumber - viewedIndex /
2 ));
this .lastIndex = (firstIndex + viewedIndex -
1 >= totalPage ? totalPage : firstIndex + viewedIndex -
1 );
if (lastIndex >= totalPage) {
this .firstIndex = lastIndex - viewedIndex +
1 ;
}
this .firstIndex = firstIndex >
0 ? firstIndex :
1 ;
this .lastIndex = lastIndex < totalPage ? lastIndex : totalPage;
}
private MyPage () {
super ();
}
public int getFirstIndex () {
return firstIndex;
}
public int getLastIndex () {
return lastIndex;
}
public int getViewedIndex () {
return viewedIndex;
}
public List<T> getList () {
return list;
}
public int getPageNumber () {
return pageNumber;
}
public int getPageSize () {
return pageSize;
}
public int getTotalPage () {
return totalPage;
}
public int getTotalRow () {
return totalRow;
}
}
<div class ="con_mihheight text_list" >
<ul >
<c:forEach var ="article" items ='${page.list}' >
<li >
<span class ="fr date" > [
<c:out value ="${article.publicDate}" /> ]
</span >
<a class ="slh" href ="${pageContext.request.contextPath}/portal/homePage/homePage_informationDisclosuredetailPage/${article.id}" >
<c:out value ="${article.title}" />
</a >
</li >
</c:forEach >
</ul >
</div >
<div class ="clearfix pagination pagination-large tc" >
<ul >
<li >
<a <c:if test ="${page.pageNumber==1 }"</span>></span>class="disabled"<span class="hljs-tag"></<span class="hljs-name">c:if</span>></span> href="javaScript:pageTo(${page.pageNumber-1})">«</a >
</li >
<c:forEach var ="i" begin ='${page.firstIndex}'</span> <span class="hljs-attr">end</span>=<span class="hljs-string">'${page.lastIndex}' >
<li <c:if test ="${page.pageNumber==i }" > class="active"
</c:if > >
<a href ="javaScript:pageTo('${i}')"</span>></span>${i}</a >
</li >
</c:forEach >
<li >
<a <c:if test ="${page.pageNumber==page.totalPage}"</span>></span>class="disabled"<span class="hljs-tag"></<span class="hljs-name">c:if</span>></span> href="javaScript:pageTo(${page.pageNumber+1})">»</a >
</li >
</ul >
</div >