Я занимаюсь разработкой весеннего загрузочного приложения, которое извлекает данные клиента из базы данных. Используя Pageable, я разбил данные на множество страниц (20 записей на страницу). нажав на ссылку удаления в клиенте. jsp:
<a href="deleteClient?id=${client.id}">Delete</a>
вызывает метод удаления из контроллера:
@RequestMapping("/deleteClient")
public String deleteClient(@RequestParam("id") String id,ModelMap allCl, Pageable pageable) {
clientService.deleteClient(id);
Page<Client> allClients = clientService.getAllClient(pageable);
allCl.addAttribute("clients", allClients);
allCl.addAttribute("number", allClients.getNumber());
allCl.addAttribute("totalPages", allClients.getTotalPages());
allCl.addAttribute("totalElements", allClients.getTotalElements());
allCl.addAttribute("size", allClients.getSize());
allCl.addAttribute("data",allClients.getContent());
return "clients";
}
Запись удаляется, но есть 2 проблемы:
1.после удаления записи, например со страницы 6, она перенаправляет на страницу 1, а не на страницу 6.
2. после перенаправления URL-адрес страницы в браузере показывает URL-адрес удаления (http://localhost: 8080 / project / deleteClient? Id = AF00505 ) не URL-адрес представления клиента (http://localhost: 8080 / project / clients? Page = 6 & size = 20 ).
следующий контроллер загружает данные клиентов:
@RequestMapping("/clients")
public String listofClients(ModelMap allCl, Pageable pageable){
Page<Client> allClients = clientService.getAllClient(pageable);
allCl.addAttribute("clients", allClients);
allCl.addAttribute("number", allClients.getNumber());
allCl.addAttribute("totalPages", allClients.getTotalPages());
allCl.addAttribute("totalElements", allClients.getTotalElements());
allCl.addAttribute("size", allClients.getSize());
allCl.addAttribute("data",allClients.getContent());
return "clients";
}
Мне нужны ваши предложения! Заранее спасибо!