Spring MVC4 + Thymeleaf将数据转换为Controller

时间:2017-03-19 20:25:33

标签: spring model-view-controller thymeleaf

我正在使用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>

enter image description here

当我点击删除按钮时,我的 TeamController 会选择请求,但所有实例变量都为空,我对Spring MVC4和Thymeleaf都是新手不确定这是否是一种有效的方法?我假设表单中的对象是对行中用户对象的引用,所以不确定为什么它在控制器端出现null?

注意:我在表单中传递的用户对象是模型中的UserAccount.java实例。

enter image description here

1 个答案:

答案 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>