我目前不确定应该如何做。当方法= 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;
答案 0 :(得分:0)
您可以通过添加以下内容来选择:
@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();
}