У меня есть список, отображаемый в моем представлении, который заполняется из моей базы данных и использует нумерацию страниц.Пока работает нормально.Теперь я хочу дать пользователю возможность перейти на определенную страницу путем ввода в текстовое поле.
Мой метод контроллера будет выглядеть так, как мне кажется:
@Controller
public class OrderController {
private static final int INITIAL_PAGE_SIZE = 15;
private int currentPage = 1;
@Autowired
private OrderService service;
@GetMapping("/dispo/orderViewList/{pageNumber}")
private String showSpecifiedPage(@RequestParam("pageNumber") Integer page, Model model) {
Page<LoadOrders> pagedList = service.findAll(page -1, INITIAL_PAGE_SIZE);
List<LoadOrder> orderList = service.createLoadOrderPage(pagedList);
model.addAttribute("page", orderList);
model.addAttribute("currentPage", page);
model.addAttribute("totalPages", pagedList.getTotalPages());
return "/dispo/orderViewList";
}
Моя идея заключается в том, что теперь у меня есть атрибут модели с именем "page", чтобы изменить этот атрибут на номер страницы, который я хотел бы показать, и отправить его как запрос get в метод контроллера.И это код для представления:
<form action="#" th:action="@{/dispo/orderViewList/{page}}" method="get">
Direkt zu Seite: <input type="text" th:field ="*{page}" size ="4"> <input type="submit">
</form>
Результат именно то, что я хотел, и выглядит так:
Но контроллер никогда не вызывается.Фактически контроллер для стандартного списка называется:
@GetMapping("/dispo/orderViewList")
private String showOrderList(@RequestParam("page") Optional<Integer> page, Model model) {
page.ifPresent(p -> currentPage = p);
Page<LoadOrders> pagedList = service.findAll(currentPage - 1, INITIAL_PAGE_SIZE);
List<LoadOrder> orderList = service.createLoadOrderPage(pagedList);
model.addAttribute("page", orderList);
model.addAttribute("currentPage", currentPage);
model.addAttribute("totalPages", pagedList.getTotalPages());
return "/dispo/orderViewList";
}
Итак, что я могу сделать, чтобы сказать контроллеру использовать метод с параметром страницы?