带搜索的商品分页示例
时间: 2024-09-07 16:03:31 浏览: 21
在电商网站中,商品分页通常结合了搜索功能,以便用户可以根据关键词查找并浏览结果列表。这里是一个简单的带搜索功能的商品分页示例:
```java
public class ProductSearchPage {
private int currentPage;
private int pageSize;
private List<Product> products; // 商品列表,每个Product包含name和searchKeyword字段
private String searchKeyword;
public ProductSearchPage(int currentPage, int pageSize) {
this.currentPage = currentPage;
this.pageSize = pageSize;
}
public void setSearchKeyword(String keyword) {
this.searchKeyword = keyword;
filterProducts(); // 对产品列表进行过滤
}
private void filterProducts() {
products.stream()
.filter(product -> product.getName().contains(searchKeyword) || product.getSearchKeyword().equals(searchKeyword))
.limit(pageSize)
.skip((currentPage - 1) * pageSize)
.collect(Collectors.toList());
}
// 获取当前页面的数据
public List<Product> getCurrentPageProducts() {
return products.subList(currentPage * pageSize, (currentPage + 1) * pageSize);
}
// 总计多少页
public int getTotalPages(int totalProducts) {
return (int)Math.ceil((double)totalProducts / pageSize);
}
}
// 示例使用:
ProductSearchPage page = new ProductSearchPage(1, 10);
page.setSearchKeyword("手机");
List<Product> productList = page.getCurrentPageProducts();
```
在这个例子中,`ProductSearchPage` 类表示一个有搜索功能的商品分页,它维护了当前页、每页大小以及经过搜索过滤后的商品列表。用户可以通过设置 `searchKeyword` 来触发搜索,并获取相应的分页数据。