分页的正确打开方式

分页的正确打开方式
  • 如何优雅的进行分页
  • 下面记录一种分页的方法,可能不是很优美,将就着能用,下面这个类将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>&gt;</span>class="disabled"<span class="hljs-tag">&lt;/<span class="hljs-name">c:if</span>&gt;</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>&gt;</span>${i}</a>
</li>
</c:forEach>
<!--下一页 -->
<li>
<a <c:if test="${page.pageNumber==page.totalPage}"</span>&gt;</span>class="disabled"<span class="hljs-tag">&lt;/<span class="hljs-name">c:if</span>&gt;</span> href="javaScript:pageTo(${page.pageNumber+1})">»</a>
</li>
</ul>
</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值