如何使用th:each将对象绑定到表单(th:object),以Thymleaf

时间:2018-12-14 21:49:49

标签: spring spring-mvc spring-boot thymeleaf


我试图在列表对象上使用th:each创建一个循环,因此创建了10个绑定不同对象的表单。到目前为止没有成功..甚至有可能吗?如果不是,您是否知道如何以类似方式将对象动态绑定到表单中的列表中的对象? 这就是我尝试过的。

@RequestMapping(value = "/area")
    public String index(@AuthenticationPrincipal User currentUser, Model model) {

        /* getPersons() returns an object list of diferent persons */
        model.addAttribute("personslist", currentUser.getPersons());

        return "area";
    }

胸叶/ html:

<div th:each="person: ${personslist}">           
     <form th:object="${person}" th:action="@{/fooBar}" method="post">
          <input hidden="hidden" th:field="${person.id}"/>
            //Other input fields...
           <button type="submit"></button>
     </form>
</div>

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您要尝试的操作,但是您可以以一种形式将人员列表作为对象提交,而不是循环浏览这些表单。您只需为人员列表创建一个包装器类,然后将该包装器类对象用作表单中的对象即可。

    <form th:object="${personslistWrapper}" th:action="@{/fooBar}" method="post">

            // Looping through the persons on the list for each input field

           <button type="submit"></button>
     </form>

请查看此信息,以获取有关以下内容的详细信息:How to bind an object list with thymeleaf?