我正在使用Thymeleaf作为模板引擎的Spring MVC4应用程序。我有一个包含团队成员信息的表,每行都有一个嵌入表单,并带有删除按钮,允许按行删除用户。下面是表格部分,以及目前看来的截图......
<table class="bordered">
<thead>
<tr>
<th data-field="id">Name</th>
<th data-field="name">Password</th>
<th data-field="price">Email</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.userName}">Name</td>
<td th:text="${user.password}">Password</td>
<td th:text="${user.email}">Email</td>
<td>
<!-- Submit the user to be deleted -->
<form th:object="${user}" class="col s12" action="/deleteUser" method="post">
<button class="btn waves-effect waves-light red col" type="submit" name="deleteUser">
Delete
</button>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
</form>
</td>
</tr>
</tbody>
</table>
当我点击删除按钮时,我的 TeamController 会选择请求,但所有实例变量都为空,我对Spring MVC4和Thymeleaf都是新手不确定这是否是一种有效的方法?我假设表单中的对象是对行中用户对象的引用,所以不确定为什么它在控制器端出现null?
注意:我在表单中传递的用户对象是模型中的UserAccount.java实例。
答案 0 :(得分:0)
能够通过以下对我的表单的更新进行修复...
<td>
<!-- Submit the user to be deleted -->
<form th:object="${UserAccount}" class="col s12" th:action="@{/deleteUser}" method="post">
<button class="btn waves-effect waves-light red col" type="submit" name="deleteUser">Delete</button>
<input type="hidden" id="userName" name="userName" th:value="${user.userName}" />
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
</form>