Thymeleaf修改和发布当前对象

时间:2016-10-13 11:48:02

标签: spring-boot thymeleaf

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

<form action="lia.html" th:action="@{/lia}" th:object="${myRequest}" method="post">

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

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

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

1 个答案:

答案 0 :(得分:1)

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

  

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

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

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

  • 按钮

    <button type="submit" name="removeRow" 
                th:value="${rowStat.index}" th:text="#{seedstarter.row.remove}">Remove row</button>
    
  • 请求映射

    @RequestMapping(value="/seedstartermng", params={"removeRow"})
    public String removeRow(
        final SeedStarter seedStarter, final BindingResult bindingResult, 
        final HttpServletRequest req) {
    
        final Integer rowId = Integer.valueOf(req.getParameter("removeRow"));
    seedStarter.getRows().remove(rowId.intValue());
        return "seedstartermng";
    }