java html页面设计_Java实战之html分页设计

本文介绍了Java如何实现HTML页面的分页设计,通过创建LepPage类来封装分页所需信息,包括当前页码、页面大小、总记录数、总页数等,并提供了计算分页起始和结束位置的方法。在Service层编写业务逻辑代码,将分页对象返回到前端。
摘要由CSDN通过智能技术生成

分页设计 原则

由于每次要将对应页数所需要的数据在jsp或者html等文件中显示出来,所以要将这些数据封装在一个javabean中

,后台都将查询到的数据导入到对应的javabean对象实例中,我们再将该对象存入request作用域,html或者jsp页面

从域中获取所需要的数据

创建LepPage类import java.util.List;

public class LepPage {

/**

* 如果指定的分页大小小于等于0,则义默认分页为20条数据

*/

public static final int DEFAULT_ROW_SIZE = 20;

/**

* 如果指定的分页页码小于等于0,则默认为第一页。

*/

public static final int DEFAULT_PAGE_NUM = 1;

private int pageNo=DEFAULT_PAGE_NUM; // 当前页码

private int pageSize=DEFAULT_ROW_SIZE; // 页面大小

private int totalCount=-1; // 总记录数

private int totalPage=-1; // 总页数

private int startIndex; // 分页开始位置

private int endIndex; // 分页结束位置

private List results; // 返回的结果集

/*

* 是否手动设置过总记录数

* 如果手动设置过,则不自动去计算数据总数。否则,将对SQL语句包装成COUNT语句去查询总记录数

*/

private boolean alreadySetTotolRecode = false;

/*

* 计算总页数

*/

private void calculateTotalPage() {

this.alreadySetTotolRecode = true;

if ( this.totalCount < 0 ) {

this.totalCount = 0;

}

if ( this.totalCount % this.pageSize == 0 ) {

this.totalPage = this.totalCount / this.pageSize;

} else {

this.totalPage = this.totalCount / this.pageSize + 1;

}

}

/**

* 该方法不推荐使用,使用{@code Page(int PageNo, int pageSize)}进行替换

*/

public LepPage() {

super();

}

private void calculatorPageNo() {

this.startIndex = pageNo > 0 ? ((pageNo - 1) * pageSize) : 0;

this.endIndex = pageNo * pageSize;

}

/**

* 构造一个Page对象

* @param pageNo 当前页码

* @param pageSize 页面大小

*/

public LepPage(int pageNo, int pageSize) {

this.pageNo = pageNo;

this.pageSize = pageSize;

calculatorPageNo();

}

public int getPageNo() {

return pageNo;

}

public void setPageNo(int PageNo) {

if ( PageNo <= 0 ) {

this.pageNo = DEFAULT_PAGE_NUM;

}

this.pageNo = PageNo;

calculatorPageNo();

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

if ( pageSize <= 0 ) {

this.pageSize = DEFAULT_ROW_SIZE;

}

this.pageSize = pageSize;

calculatorPageNo();

}

public int getTotalCount() {

return totalCount;

}

public void setTotalCount(int totalCount) {

this.totalCount = totalCount;

// 去计算总页数

calculateTotalPage();

}

public int getTotalPage() {

return totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

public int getStartIndex() {

return startIndex;

}

public void setStartIndex(int startIndex) {

this.startIndex = startIndex;

}

public int getEndIndex() {

return endIndex;

}

public void setEndIndex(int endIndex) {

this.endIndex = endIndex;

}

public List getResults() {

return results;

}

public void setResults(List results) {

this.results = results;

}

public boolean isAlreadySetTotolRecode() {

return alreadySetTotolRecode;

}

public void setAlreadySetTotolRecode(boolean alreadySetTotolRecode) {

this.alreadySetTotolRecode = alreadySetTotolRecode;

}

@Override

public String toString() {

return "Page{" +

"pageNo=" + pageNo +

", pageSize=" + pageSize +

", totalCount=" + totalCount +

", totalPage=" + totalPage +

", startIndex=" + startIndex +

", endIndex=" + endIndex +

", results=" + results +

", alreadySetTotolRecode=" + alreadySetTotolRecode +

'}';

}

}

Service层编写业务逻辑代码

9078437ac6210dc43ccdee4f6fecb329.png

819cc7e0828544c64bc57bafe97ecf5d.png

b17604e1cc3632bcfb16e003c4dc8881.png

在Json对象中 添加对应的分页对象返回到前端

29d771757e7bd8397c01aeacc54a38dd.png

2f2e76a75a297126450b9ff9637a4843.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值