Это мой текущий файл pageableResolver:
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
PageableArgumentResolver resolver = new PageableArgumentResolver();
resolver.setFallbackPageable(new PageRequest(1, 5));
argumentResolvers.add(new ServletWebArgumentResolverAdapter(resolver));
}
Но файл PageableArgumentResolver устарел и связан с PageableHandlerMethodArgumentResolver, который, я полагаю, мы можем зарегистрировать без адаптера, например:
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
resolver.setFallbackPageable(new PageRequest(0, 5));
argumentResolvers.add(resolver);
}
Прежде всего, реализация нового класса PageableHandlerMethodArgumentResolver немного отличается, так как new PageRequest(1, 5)
ссылается на 2. страницу, поэтому мне пришлось использовать new PageRequest(0, 5)
для отображения первой страницы.
Но у меня все еще есть проблемы с этим новым объектом. Первая загрузка панели разбиения на страницы идеально подходит, когда я вызываю URL без параметров (ни page.page, ни page.size). Затем, когда я хочу перейти на панель разбиения на страницы, мы вызываем тот же URL с двумя параметрами (например, page.page = 3 & page.size = 5), на первой странице все еще отображается. Я думаю, что для этого нового Resolver требуется больше, чем только эти 2 параметра, так что он не активирует резервное условие. Вы знаете, как работать с этим PageableHandlerMethodArgumentResolver?