Thymeleaf修改和发布当前对象

kam*_*aci 9 thymeleaf spring-boot

我有一个表格并通过Thymeleaf将数据发布到控制器中:

<form action="lia.html" th:action="@{/lia}" th:object="${myRequest}" method="post">
Run Code Online (Sandbox Code Playgroud)

在我的html页面的另一个地方,如果用户单击某个特定按钮,我想修改该对象并将其发送到同一个控制器.

我已经初始化了那个对象.按钮不是任何形式的一部分.如何将该对象发送到Thymeleaf的控制器中.

PS:我知道我可以通过Javascript发送它或将这些按钮放入表单但我想学习Thymeleaf方式.

Pau*_*Pau 1

我认为与您正在寻找的唯一类似的方法是使用带有 Spring EL 表达式的绑定。

\n\n
\n

得益于 Spring MVC 中的高级表单字段绑定功能,\n 我们可以使用复杂的 Spring EL 表达式将动态表单字段\n 绑定到我们的表单支持 bean。这将允许我们在 SeedStarter bean 中创建新的 Row 对象,并根据用户请求将这些 rowsxe2x80x99 字段添加到我们的表单中。

\n
\n\n

看一下下一个链接,其中有很好的示例:

\n\n

http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#dynamic-fields

\n\n
    \n
  • 按钮

    \n\n
    <button type="submit" name="removeRow" \n            th:value="${rowStat.index}" th:text="#{seedstarter.row.remove}">Remove row</button>\n
    Run Code Online (Sandbox Code Playgroud)
  • \n
  • 请求映射

    \n\n
    @RequestMapping(value="/seedstartermng", params={"removeRow"})\npublic String removeRow(\n    final SeedStarter seedStarter, final BindingResult bindingResult, \n    final HttpServletRequest req) {\n\n    final Integer rowId = Integer.valueOf(req.getParameter("removeRow"));\nseedStarter.getRows().remove(rowId.intValue());\n    return "seedstartermng";\n}\n
    Run Code Online (Sandbox Code Playgroud)
  • \n
\n