Java JSP实现新闻列表分页查询的完整代码
本文介绍了一种在JSP中使用Java原生集合与脚本元素实现新闻列表手动分页的方法。通过模拟107条数据,利用逻辑判断计算总页数、当前页码及每页显示条数,并结合ArrayList进行截取,最终在前端展示带有上一页和下一页功能的分页效果。
构建新闻数据模型
首先需要定义一个表示新闻实体的Java类 newTest,包含编号、标题、内容和作者属性,并提供相应的构造函数与 getter/setter 方法。该类的代码如下:
package com.ibeifeng.test;
//创建新闻测试类
public class newTest {
private long id;
private String title;
private String content;
private String author;
public newTest() {
super();
}
public newTest(long id, String title, String content, String author) {
this.id = id;
this.title = title;
this.content = content;
this.author = author;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return "newTest [id=" + id + ", title=" + title + ", content=" + content
+ ", author=" + author + "]";
}
}
JSP页面中的分页逻辑实现
在JSP文件中引入必要的包,并通过一段Java脚本块来模拟数据并执行分页算法。
第1步:初始化数据源
创建一个大小为107的 List<newTest> 集合,用于存储模拟的新闻条目。每条数据赋予唯一的ID(从1开始)和预设的内容。
第2步:计算分页参数
根据集合总长度 iTitleIndex 和每页固定显示的记录数(此处设为10),计算出总页数 iTitlePages。计算公式为:int iTitlePages = iTitleIndex / 10 + (iTitleIndex % 10 == 0 ? 0 : 1);
第3步:处理当前页码请求
通过 request.getParameter("page") 获取用户传入的页码。若未提供或格式非法,则默认第一页;若越界(小于1或大于总页数),则分别修正为第1页或最后一页。
第4步:截取当前页数据进行展示
创建一个新的集合 listPage。使用循环将原集合中对应索引范围的数据添加到新集合中。特别注意当处于最后一页时,循环次数应为剩余数据的数量,以避免数组越界异常。最后通过表格将这些数据输出到前端界面,并根据当前页码动态生成“上一页”和“下一页”链接。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













