Thymeleaf th:字段覆盖th:值

时间:2015-11-17 13:29:32

标签: java html thymeleaf

我只是发现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;
&#13;
&#13;

2 个答案:

答案 0 :(得分:5)

Thymeleaf th:field生成3个html属性idnamevalue

对于您的情况,请使用th:fieldth:idth: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:fieldth:idth:name的{​​{1}}。我只想补充一点,我的 th:valueth:id 的值只是我实体中列的名称(在我的例子中是 testID)。希望下面的例子可以帮助任何人。

th:name