gpt4 book ai didi

java - 使用 SpringMVC 和 Thymeleaf 提交时为空表单

转载 作者:行者123 更新时间:2023-12-04 04:42:50 25 4
gpt4 key购买 nike

我正在尝试编辑表格中的数据(复选框)。但是当我点击提交按钮时, Controller 中的表单是空的

我没有找到 thymeleaf 的例子,所以我改编了this example

我使用一个表单对象:

public class MyForm {
private List<MyObj> data;
// ...
}

具有两种方法(GET 和 POST)的 Controller :
@RequestMapping(value="/edit/", method = RequestMethod.GET)
public String editGet(Model model) {
MyForm form = new MyForm(data);
model.addAttribute("myForm", form);
return "editPage";
}

@RequestMapping(value="/edit/save", method = RequestMethod.POST)
public String editPost(@ModelAttribute("myForm") MyForm myForm, Model model) {
// here myForm.getData() is empty
}

还有我的html:
<form th:action="@{/edit/save}" th:object="${myForm}" method="POST">
<table>
<thead>....</thead>
<tbody th:each="myObj : *{data}" th:remove="tag">
<tr>
<td><span th:text="${myObj.name}"></span></td>
<td><input type="checkbox" th:checked="${myObj.isOK}"/></td>
</tr>
</tbody>
</table>
<input type="submit">Save</input>
</form>

我忘记了什么?

最佳答案

您应该使用以下语法:

<tr th:each="myObj, rowStat : *{data}">

然后使用以下方法设置输入字段:
th:field="*{data[__${rowStat}.index}__].myField}"

这会将您的 MyForm 与输入数据绑定(bind)。

更多示例可以在这里找到
Thymeleaf and forms

关于java - 使用 SpringMVC 和 Thymeleaf 提交时为空表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18634697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com