Как отправить информацию из раскрывающегося списка в Spring Controller? - PullRequest
0 голосов
/ 18 октября 2018

Я хочу передать информацию о том, какой проект я выбрал из списка проектов.Для этого я сделал HTML-страницу, которая содержит форму.

<form 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>

Это мой запрос POST:

@PostMapping("cidashboard/table")
 public String createTable(@ModelAttribute("projectVariantSelected") ProjectVariant projectVariantSelected) {

 System.out.println("Project Variant selected: " + projectVariantSelected.getProjectVariantName() + projectVariantSelected.getProjectVariantId());

 return "test1";
}

Я получил эту ошибку:

Neither BindingResult nor plain target object for bean name 'projectVariantSelected' available as request attribute

1 Ответ

0 голосов
/ 18 октября 2018

Идентификатор из th: object должен представлять существующий объект из модели.Вы можете сделать что-то подобное в вашем контроллере:

@ModelAttribute
public void addAttributes(Map<String,Object> model) {
    model.put("projectVariantSelected", new ProjectVariant());
}

Ваш атрибут модели должен быть инициализирован перед возвратом вида.Теги Spring будут заполнять поля представления тимелина и заполнять доступный атрибут модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...