Thymeleaf: передать параметр из действия get form в URL - PullRequest
0 голосов
/ 28 мая 2019

У меня есть параметр в контроллере, и я хочу вернуть его в URL в форме получения

Я хочу найти в списке объекты по агентству, но проблема в том, что тимелист дает мнефальшивый URL, вот пример

здесь я буду искать с ключевым словом agency

<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

с этой ошибкой

Имя шаблона не может быть пустым или пустым

, но оно должно быть таким

http://localhost:6262/lien?key=24421&agence=100

1 Ответ

0 голосов
/ 28 мая 2019

Нельзя смешивать параметры в 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..." />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...