th:selected 对于 Thymeleaf 中的 select 标签不起作用

th:selected for select tag in Thymeleaf not working

<select multiple="multiple>

<option th:each="vName : ${variety}"

th:value="${vName}"

th:text="${vName}"

th:selected="${selectedVariety}"></option> 

</select>

在上面的代码中,“selectedVariety”是一个从控制器发送的字符串数组。

我无法在编辑时绑定 select 标签。

并且此 select 标签不是实体 table 的一部分,因此 th:filed="*{selectedVariety}" 无效。

尝试过 th:attr="selected=${selectedVariety==vName?true:false}">

不工作

在使用这个“th:selected="${selectedVariety}" 时,下拉列表中的每个选项都会得到 selected。

可能的解决方案是什么??

当值包含在字符串数组中时,该选项被选中。您需要在 <option> 中添加以下属性:

th:selected="${#arrays.contains(selectedVariety, vName)}"

它 returns true(选中)如果 selectedVariety 包含给定的 vName 否则为 false(未选中)。