У меня есть параметр в моем контроллере, и я хочу вернуть его в URL-адрес в форме получения
Я хочу искать в списке объекты агентства, но проблема в том, что тимелеаф дает мне поддельный URL-адрес, вот пример
здесь я буду искать по ключевому слову агентство
<form th:action = "@{lien(key=${key})}" method = "get">
<input type = "text" name = "agence" th:value = "${agence}" class = "form-control"
placeholder = " Agence client..." />
и это clientController :
@RequestMapping(value = "/lien")
public String droitUtilisateur(Model model,
@RequestParam(name = "key", defaultValue = "0") int key,
@RequestParam(name = "page", defaultValue = "0") int p,
@RequestParam(name = "size", defaultValue = "5") int s,
@RequestParam(name = "agence", defaultValue = "") String agence) {
String result = "";
switch(key) {
case 24421:
Page<Client> pageClients = clientRepository.chercherParNom("%" + agence + "%", new PageRequest(p, s));
model.addAttribute("listClient",pageClients.getContent()) ;
int[] pages = new int[pageClients.getTotalPages()];
model.addAttribute("pages", pages);
model.addAttribute("pageCourante", p);
model.addAttribute("size", s);
model.addAttribute("key", key);
model.addAttribute("agence", agence);
result= key+"";
break;
}
return result;
}
который возвращает эту ссылку:
http://localhost:6262/lien?agence=100
с этой ошибкой
Template name cannot be null or empty
но должно быть так
http://localhost:6262/lien?key=24421&agence=100
Вы не можете смешивать параметры в URL-адресе с параметрами в полях формы. Вы должны добавить скрытый ввод для key
:
<form th:action = "@{lien}" method = "get">
<input type = "hidden" name = "key" th:value = "${key}" />
<input type = "text" name = "agence" th:value = "${agence}" class = "form-control" placeholder = " Agence client..." />
где другие поля ввода на вашем
form
?