我正在尝试使用thymeleaf + springMVC设置selected
选项的属性,如下所示:
(item.codItem
和defaultCodItem
为长)
<select id="selItems">
<th:block th:each="item : ${myItems}">
<option value="564" th:value="${item.codItem}" th:selected="(${item.codItem} eq ${defaultCodItem})? 'selected' : '' "
th:text="${item.codItem} + ' || ' + ${defaultCodItem}"> 564 || ?
</option>
</th:block>
</select>
但结果是......
<select id="selItems">
<option selected="selected" value="455">11/2014 - 455 || 450</option>
<option selected="selected" value="450">450 || 450</option>
<option selected="selected" value="452">452 || 450</option>
<option selected="selected" value="457">457 || 450</option>
<option selected="selected" value="453">453 || 450</option>
<option selected="selected" value="454">454 || 450</option>
<option selected="selected" value="451">451 || 450</option>
</select>
当我预料到这一点时:
<select id="selItems">
<option selected="" value="455">11/2014 - 455 || 450</option>
<option selected="selected" value="450">450 || 450</option>
<option selected="" value="452">452 || 450</option>
<option selected="" value="457">457 || 450</option>
<option selected="" value="453">453 || 450</option>
<option selected="" value="454">454 || 450</option>
<option selected="" value="451">451 || 450</option>
</select>
那么,我应该如何在模板中将item.codItem
与defaultCodItem
进行比较,以正确设置selected
属性?
答案 0 :(得分:6)
根据Thymeleaf文件:
标准方言包括允许您通过评估条件来设置这些属性的属性,以便在评估时使用 如果为true,则该属性将设置为其固定值,如果计算为false,则不会设置该属性
选择就是其中之一。我认为你应该把条件写成:
th:selected="${item.codItem} eq ${defaultCodItem}"
我猜你的当前行没有按预期工作,因为非空值被评估为true(例如你的空字符串)