根据提供的文件信息,我们可以深入分析并提取出与Struts框架中的分页功能相关的知识点。以下是对这些知识点的详细解析: ### Struts框架简介 Struts是Apache开发的一个用于构建企业级Java Web应用的开源框架。它遵循MVC(Model-View-Controller)设计模式,将业务逻辑、用户界面和控制流程分离,使程序结构清晰、易于维护。 ### 分页概念 分页是指在数据量较大的情况下,为了提高用户体验和系统性能,将数据按照一定的规则划分成多个页面进行展示的技术。分页技术广泛应用于各种Web应用程序中。 ### Page.java类分析 #### 1. 类定义及属性 ```java package org.shirdrn.page; import java.util.List; public class Page { private int pageSize; // 每页显示记录数 private int totalPage; // 总页数 private int rowCount; // 总记录数 private int currentPage; // 当前页 private int prePage; // 前一页 private int nextPage; // 下一页 private boolean hasNextPage; // 是否有下一页 private boolean hasPreviousPage; // 是否有前一页 private List list; // 当前页的数据列表 ``` **属性解析:** - `pageSize`: 设置每页显示多少条记录,默认为5。 - `totalPage`: 计算得出的总页数。 - `rowCount`: 数据库中的总记录数。 - `currentPage`: 当前显示的是哪一页。 - `prePage`: 上一页的页码。 - `nextPage`: 下一页的页码。 - `hasNextPage`: 是否存在下一页。 - `hasPreviousPage`: 是否存在上一页。 - `list`: 当前页要展示的数据列表。 #### 2. 构造函数 ```java public Page() { this.pageSize = 5; } ``` **解析:** 构造函数初始化每页显示的记录数为5。 #### 3. Getter & Setter方法 提供了对每个属性的访问器(Getter)和修改器(Setter)方法,方便其他类对Page对象的属性进行读写操作。 ### PageUtil.java类分析 #### 1. 类定义及属性 ```java package org.shirdrn.page; import org.hibernate.Query; import org.hibernate.Session; import org.shirdrn.hibernate.HibernateSessionFactory; public class PageUtil { private Page page; // 分页对象 private int start; // 起始位置 private String hql; // HQL查询语句 ``` **属性解析:** - `page`: 使用`Page`对象来封装分页的信息。 - `start`: 查询数据库时的起始位置。 - `hql`: Hibernate Query Language,用于查询数据库。 #### 2. 构造函数 ```java public PageUtil(int start, String sql) { page = new Page(); // 初始化Page对象 this.start = start; this.hql = sql; setRowCount(); // 设置总记录数 setTotalPage(); // 设置总页数 setCurrentPage(); // 设置当前页 setPrePage(); // 设置前一页 setNextPage(); // 设置下一页 setPreOrNextBoolean(); // 设置是否有前后页 } ``` **解析:** 构造函数通过传入的起始位置和HQL查询语句创建`PageUtil`对象,并依次设置Page对象的各项属性。 #### 3. 方法实现 - **setRowCount**: 查询数据库获取总记录数。 - **setTotalPage**: 根据总记录数计算总页数。 - **setCurrentPage**: 设置当前页。 - **setPrePage**: 设置前一页的页码。 - **setNextPage**: 设置下一页的页码。 - **setPreOrNextBoolean**: 判断是否存在前后页。 ### 分页实现过程 1. **初始化分页对象**:首先创建一个`Page`对象,并设置默认每页显示5条记录。 2. **设置分页参数**:在`PageUtil`构造函数中,通过HQL查询语句获取数据库中的总记录数,并根据总记录数计算总页数。 3. **获取当前页数据**:根据当前页码和每页显示的记录数,从数据库中查询出当前页的数据列表。 4. **计算前后页码**:基于当前页码计算出前一页和后一页的页码。 5. **判断是否有前后页**:如果当前页码小于等于1,则没有前一页;如果当前页码加上1小于等于总页数,则存在下一页。 通过以上步骤,可以实现一个简单的分页功能。这种方法不仅适用于Struts框架,在其他Java Web框架中也具有较高的通用性。






















package org.shirdrn.page;
import java.util.List;
public class Page {
private int pageSize; // 每页显示的记录数
private int totalPage; // 页数
private int rowCount; // 总记录数
private int currentPage; // 当前页
private int prePage; // 上一页
private int nextPage; // 下一页
private boolean hasNextPage; // 是否有下一页
private boolean hasPreviousPage; // 是否有前一页
private List list;
public Page(){ // 实例化一个Page对象时,初始化页面显示记录数
this.pageSize = 5;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public List getList() {
}
public void setList(List list) {
this.list = list;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPrePage() {
return prePage;
}
public void setPrePage(int prePage) {
this.prePage = prePage;
}
剩余12页未读,继续阅读


- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 江苏计算机级测验考试复习资料.doc
- 互联网电子商务行业市场发展趋势分析:利好的政策给行业可观的前景.docx
- 使用单片机与ADC设计数据采集系统.doc
- DEA模型的制造企业信息化绩效评价.doc
- 《面向对象程序设计方案期末考试》模板.doc
- 成都会展中心数字视频网络监控系统专业技术方案.doc
- 《机械制图与CAD》说课稿.doc
- 通用固定资产管理软件简介.doc
- 基于扫描线模型的机载激光点云滤波算法.docx
- 大数据对政府科技管理效率的影响.docx
- 计算机技术在高校教学管理中的应用分析.docx
- 六层电梯的PLC控制系统设计.docx
- 39柴世宽大学本科方案设计书(基于PLC的数字电子钟方案设计书).doc
- 公主岭电视台制播网络管理与维护.docx
- 大数据催热商务智能BI公司看好中国市场.docx
- 财经类院校信管专业学生Java课程学习效果影响因素调查分析.docx


