我正在使用Spring boot + thymeleaf,并且试图设置select元素的默认值,以便显示存储在数据库(编辑表单)中的所选对象。
为此,我从控制器中将实体及其值插入模型,但是,当我尝试设置select的默认值时,它总是获得第一个选项。
这是代码:
<select class="selectpicker"
id="alarmPeriod" name="alarmPeriod"
th:selected="${alarm.alarmPeriod}"
th:value="${alarm.alarmPeriod}">
<option th:each="period:${periods}"
th:value="${period}" th:text="${period}">
</option></select>
我尝试使用th:field="*{alarm.alarmPeriod}"
,但是百里香叶处理器崩溃。
如何使用存储的实体值设置select的默认值?
PD:Alarm是我的实体,AlarmPeriod是Alarm的属性。
答案 0 :(得分:1)
selected
是option
标签的属性。由于您尝试将其中一个选项标记为已选中,因此必须将th:selected
属性添加到您的选项中,并根据表达式{将其计算结果为true
或false
{1}}。
答案 1 :(得分:0)
应该将所选选项作为选项放置,就像使用htnl select标记一样,下面的代码应该可以使用
<select class="selectpicker"
id="alarmPeriod" name="alarmPeriod">
<option value="${alarm.alarmPeriod}" selected="selected">
${alarm.alarmPeriod}
</option>
<option th:each="period:${periods}"
th:value="${period}" th:text="${period}">
</option></select>