在Spring中将列表转换为页面 [英] Conversion of List to Page in Spring

查看:146
本文介绍了在Spring中将列表转换为页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在春天将列表转换为页面。我已经使用

I am trying to convert list to page in spring. I have converted it using


new PageImpl(users,pageable,users.size());

new PageImpl(users, pageable, users.size());

但是现在我有排序和分页本身的问题。当我尝试传递大小和页面时,分页不起作用。

But now I having problem with sorting and pagination itself. When I try passing size and page, the pagination doesn't work.

这是我正在使用的代码。

Here's the code I am using.

我的控制器

    public ResponseEntity<User> getUsersByProgramId(
        @RequestParam(name = "programId", required = true) Integer programId Pageable pageable) {

    List<User> users = userService.findAllByProgramId(programId);
    Page<User> pages = new PageImpl<User>(users, pageable, users.size());

    return new ResponseEntity<>(pages, HttpStatus.OK);
}

这是我的用户Repo

Here is my user Repo

public interface UserRepo extends JpaRepository<User, Integer>{

public List<User> findAllByProgramId(Integer programId);

这是我的服务

    public List<User> findAllByProgramId(Integer programId);


推荐答案

我遇到了同样的问题。我使用subList解决了这个问题,即:

I have meet the same question. I solved this using subList, that is:

int start = pageable.getOffset();
int end = (start + pageable.getPageSize()) > users.size() ? users.size() : (start + pageable.getPageSize());
Page<User> pages = new PageImpl<User>(users.subList(start, end), pageable, users.size());

这篇关于在Spring中将列表转换为页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆