在java控制器中获取dinamicaly小部件并获取每个小部件的最新收藏帖子,每个小部件都有一个foreach,但每个小部件需要获得1个或更多帖子,我使用PagingAndSortingRepository和Page<>结果,在控制器调用nextPageable()和下一个最后最喜欢的帖子时。
如何为存储库中的每个页面设置1个结果?如何使用每页的结果数量来制作一个dinamicaly函数?例如:当3为dinamicaly值时,调用存储库以从控制器调用的页面获得3个结果。
我的界面是:
public interface PostRepository extends PagingAndSortingRepository<PostEntity, Long>{
Page<PostEntity> findAll(Pageable pageable);
Page<PostEntity> findByShowInMainPage(Boolean showInMainPage); // <--
}
答案 0 :(得分:2)
如果我理解正确,您需要PageRequest
:
Page<PostEntity> postEntityPage = findAll(new PageRequest(0, 3));
它在页面中获取第一个(0)页面,其中包含三个PostEntity
。
答案 1 :(得分:0)
如果您尝试从控制器获取分页,只需在Pageable的控件上添加一个参数即可。例如
@RequestMapping(value = "{username}", method = RequestMethod.GET, produces = MediaType.TEXT_HTML_VALUE)
public String entries(@PathVariable(PATH_USERNAME) final String username,
final Pageable pageable,
final Model model) {
...
这将在控制器上自动为您提供页面和大小的参数。因此,URL看起来像/ users / myusername?page = 1&amp; size = 3并返回前3个结果。设置页面= 2将获得接下来的3个结果,依此类推。
然后,您可以将可分页变量传递到存储库的findAll方法以获取数据。