spring boot thymeleaf — передать выпадающее выбранное значение в качестве переменной пути

#spring-boot #thymeleaf

#spring-boot #thymeleaf

Вопрос:

Я пытаюсь передать выбранное значение из выпадающего списка в контроллер с помощью @PathVariable

     @GetMapping(path ={"/test","/test/{serverName}
        public String loginfo(Model model, @PathVariable("serverName") Optional<String> serverName) {
    if(serverName.isPresent(){

    }
    else
    {

    }
return "testReportPage";
    }
 

html-страница :

 <form action="#" th:action="@{/test/{serverName}(serverName=${server})}" method="get">
            <div class="row">
            <label class="col-md-2 control-label">Select Server</label>
            <div class="col-md-2 selectContainer">
            <div class="input-group">
            <span class="input-group-addon"><i
            class="glyphicon glyphicon-list"></i></span> 
            <select name="server" id="server" th:field="*{serverlist}" 
            class="form-control selectpicker">
                    <option th:each="server : ${serverlist}" th:value="${server}"
                            th:text="${server}"></option>
            </select>
            </div>
            </div>
            <button type="submit">Filter</button>
            </div>
                        
</form>
 

У меня есть несколько выпадающих списков на странице html, мне нужно передать выбранное значение в тест /{}/{}

Как я могу это сделать?

Комментарии:

1. Если вы действительно хотите передать это как переменные пути, вам нужно будет использовать JavaScript для изменения action свойства формы до того, как пользователь нажмет кнопку отправки. Есть какая-либо конкретная причина, по которой вы хотите использовать переменные пути?

2. Не обязательно, но я также могу использовать @RequestParam, в любом случае мне нужно передать выбранное значение. это моя цель,

3. В этом случае просто используйте @ModelAttribute . См. spring.io/guides/gs/handling-form-submission

4. не могли бы вы проверить мой обновленный контроллер, я хочу использовать тот же вызов rest на основе необязательного значения, может ли это работать с использованием @ModelAttribute?