У меня есть выпадающий список, который содержит список проектов.Моя проблема в том, что я хочу получить значение, которое я выбрал, но вместо этого я получил ноль.
<form action="#" th:action="@{/cidashboard/table}" th:object="${projectVariantSelected}" method="post">
<p>Project variants options:</p>
<select class="form-control" th:field="*{projectVariantId}" >
<option th:each = "projectVariant : ${projectsVariants}"
th:value="${projectVariant.projectVariantId}"
th:text="${projectVariant.projectVariantName}" >
</option>
</select>
<input type="submit" value="Submit" />
</form>
Я создаю запрос GET:
public final Map< String, Object > modelAtribute = new HashMap< String, Object >();
@GetMapping("cidashboard/filter/data")
public String allDataForFilter(Model model, ModelAndView modelAndView) {
model.addAttribute("projectsVariants", projectVariantService.findAllProjectsVariants());
addAttributes(modelAtribute);
return "test2";
}
@ModelAttribute
public void addAttributes(Map<String, Object> model) {
model.put("projectVariantSelected", new ProjectVariant());
}
И мой запрос POST выглядит так:
@PostMapping("cidashboard/table")
public String createTable(@ModelAttribute("projectVariantSelected") ProjectVariant projectVariantSelected) {
System.out.println("Project Variant selected: " + projectVariantSelected.getProjectVariantName() + " " + projectVariantSelected.getProjectVariantId());
return "test1";
}
Когда я пытаюсь распечатать полученный вывод:
Project Variant selected: null 0