以下是一个使用Struts2和JSP实现分页功能的简单例子。这个例子假设我们有一个数据集,我们想要每页显示5条记录。
1. 创建Action类
我们创建一个Struts2的Action类,这个类将负责分页逻辑。
```java
import com.opensymphony.xwork2.ActionSupport;
public class PageAction extends ActionSupport {
private int currentPage = 1;
private int pageSize = 5;
private List items;
private int totalItems;
// 假设这是从数据库中获取到的数据集
private List
// 这里应该包含从数据库获取数据的逻辑
return new ArrayList
}
public String execute() {
items = getData();
totalItems = items.size();
int totalPages = (int) Math.ceil((double) totalItems / pageSize);
if (currentPage > totalPages) {
currentPage = totalPages;
}
int start = (currentPage - 1) * pageSize;
int end = Math.min(start + pageSize, totalItems);
items = items.subList(start, end);
return SUCCESS;
}
// Getter和Setter方法
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List
return items;
}
public void setItems(List
this.items = items;
}
public int getTotalItems() {
return totalItems;
}
public void setTotalItems(int totalItems) {
this.totalItems = totalItems;
}
}
```
2. 创建JSP页面
接下来,我们创建一个JSP页面来显示数据。
```jsp
<%@ page contentType="