我只是发现th:field
属性会覆盖th:value
属性。
在我的th:each
中,我想覆盖th:field
为我生成的值。有谁知道如何实现这个目标?
提前致谢。
<ul id="userGroupContainer">
<li class="clickable unselected" th:each="u, rowStat : ${userNotInGroup}" th:if="${u.id}">
<input type="text" readonly="readonly" hidden="hidden" disabled="disabled" th:field="* {users[__${rowStat.index}__].id}" th:value="${u.id}" />
<input type="text" readonly="readonly" hidden="hidden" disabled="disabled" th:field="* {users[__${rowStat.index}__].displayName}" th:value="${u.displayName}" />
<input type="text" readonly="readonly" hidden="hidden" disabled="disabled" th:field="* {users[__${rowStat.index}__].username}" th:value="${u.username}" />
<input type="text" readonly="readonly" hidden="hidden" disabled="disabled" th:field="*{users[__${rowStat.index}__].emailAddress}" th:value="${u.emailAddress}" />
<span th:text="${u.displayName}"></span>
</li>
</ul>
&#13;
答案 0 :(得分:5)
Thymeleaf th:field
生成3个html属性id
,name
和value
。
对于您的情况,请使用th:field
,th:id
和th:name
,而不是使用th:value
,如下所示。
<input type="text" th:id="${'users'+__${rowStat.index}__+'.id'}" th:name="${'users['+__${rowStat.index}__+'].id'}" th:value="${u.id}" readonly="readonly" hidden="hidden" disabled="disabled"/>
<input type="text" th:id="${'users'+__${rowStat.index}__+'.displayName'}" th:name="${'users['+__${rowStat.index}__+'].displayName'}" th:value="${u.displayName}" readonly="readonly" hidden="hidden" disabled="disabled"/>
答案 1 :(得分:0)
就像faizi上面说的,你应该改变th:field
、th:id
和th:name
的{{1}}。我只想补充一点,我的 th:value
和 th:id
的值只是我实体中列的名称(在我的例子中是 testID)。希望下面的例子可以帮助任何人。
th:name