#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-submission4. не могли бы вы проверить мой обновленный контроллер, я хочу использовать тот же вызов rest на основе необязательного значения, может ли это работать с использованием @ModelAttribute?