我有这个枚举类,它有一组值。 我在组合框中显示值。 如何获取所选值?
@Entity
@Table(name = "accountant")
public class Accountant {
@Column(name="country")
private String country;
public enum country{
MALAYSA,GREECE
}
}
在控制器中我已经设置了它
modelAndView.addObject("currentAccountant", loggedInUser);
我将它们全部列出:
<form th:action="@{/updateAccountant}" th:object="${currentAccountant}" class="form-inline" method="post" id="companyProfileForm" name="companyProfileForm">
<select class="form-control selectpicker" data-live-search="true" style="width:300px;margin-left: 50px;" >
<option value="" selected disabled hidden>Please select a Country</option>
<option th:each="country : ${T(Accountant.Country).values()}"
th:value="${country}"
th:text="${country.getValue()}">
</option>
</select>
</form>
如何从表单中的组合框中获取所选值? 然后在加载表单时设置值。
我尝试了这个,但组合框中没有列出任何内容。:
<select th:field="*{country}" class="form-control selectpicker" data-live-search="true">
当我删除th:field="*{country}"
时,它会显示国家/地区。
<select class="form-control selectpicker" data-live-search="true">
答案 0 :(得分:0)
所以这花了我一些时间来解决,破解解决方案。
对于组合框,要获取选定值,th:field
它不应该是字段名称 - 列名变量country
。它应该是枚举列表名称Country
请注意命名差异大写C
要获取组合框的所有值,您应该执行${T(com.workspez.model.Accountant.States).getSortedValue()}
您需要指定完整包名称。