以下是一个使用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 getData() {

// 这里应该包含从数据库获取数据的逻辑

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 getItems() {

return items;

}

public void setItems(List items) {

this.items = items;

}

public int getTotalItems() {

return totalItems;

}

public void setTotalItems(int totalItems) {

this.totalItems = totalItems;

}

}

```

2. 创建JSP页面

接下来,我们创建一个JSP页面来显示数据。

```jsp

<%@ page contentType="