Привязка списка выбора опций - PullRequest
0 голосов
/ 30 апреля 2019

В настоящее время я не уверен, как мне это сделать.Когда метод = RequestMethod.POST, как я должен привязать селектор выбора к моему объекту.

Это часть моей формы

<form th:action="@{/incidentDetail/update}" method="post" id="incidentDetailForm">

<div class="form-row">

    <div class="form-group col-md-6">
                <label for="location">Name</label> <input class="form-control"
                    type="text" name="ioName" id="ioName" th:value="${incident.ioName}" />
    </div>

       <div class="form-group col-md-3">
                <label for="location" class="cols-sm-2 control-label">Preparation
                    By</label><span class="bg-danger pull-right"></span>
                <div class="cols-sm-10">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-reorder fa"
                            aria-hidden="true"></i></span> <select class="form-control selectpicker"
                            th:object="${incident}" th:field="*{incidentPreparationBy}"
                            id="incidentPreparationBy" name="incidentPreparationBy"
                            roleId="incidentPreparationBy">
                            <option th:each="user: ${userList}" th:value="${incident.incidentPreparationBy}"
                                th:text="${user.name}"></option>
                        </select>
                    </div>
                </div>
    </div>

</form>

Мой контроллер

@RequestMapping(value = "/update", method = RequestMethod.POST)
    public String registerIncidentPost(@ModelAttribute("incident") Incident incident, HttpServletRequest request)
            throws Exception {

        incidentService.save(incident);

        return "redirect:/incidentDetail?id=" + incident.getId();
    }

Часть организации по инцидентам

@ManyToOne
    @JoinColumn(name = "user_id_preparation_by")
    private User incidentPreparationBy;

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете получить доступ к выбору, добавив:

@RequestParam("incidentPreparationBy") String option в качестве аргумента метода

в метод вашего контроллера.Таким образом, строка «option» будет содержать выбранное значение.

Например:

@RequestMapping(value = "/update", method = RequestMethod.POST)
public String registerIncidentPost(@ModelAttribute("incident") Incident incident, 
    @RequestParam("incidentPreparationBy") String option, HttpServletRequest request)
        throws Exception {
    String incidentPrepartionBy = option; //incidentPrepartionBy will give you the selected value now.
    incidentService.save(incident);

    return "redirect:/incidentDetail?id=" + incident.getId();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...