【发布时间】:2018-10-21 10:55:22
【问题描述】:
我的问题是我找不到任何关于如何将复选框值(选中/未选中)从表单传递到我的 @Controller。 我使用 Thymeleaf 作为我的前端。
这是我的代码:
<form action="#" th:action="@{/passwordaenderung}" th:object="${password}" method="post">
<table border="1" style="width:50%">
<thead>
<tr>
<th> Benutzername </th>
<th> Passwort </th>
</tr>
</thead>
<tbody>
<tr th:if="${users.empty}">
<td colspan="2"> No Users available</td>
</tr>
<tr th:each="user : ${users}">
<td><input type="text" th:value="${user.benutzername}" name="username" id="username"></td>
<td><input type="text" id="password" name="password" required />
<td><input type="checkbox" th:field="*{multiCheckboxSelectedValues}" />
</tr>
</tbody>
</table>
<input type="submit" value="Submit">
</form>
这是我的控制器:
@PostMapping
public String updateOldPassword(@Valid @ModelAttribute("password") PasswordChange userAndpassword,
BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "error";
}
String username = userAndpassword.getUsername();
String password = userAndpassword.getPassword();
String newPassword = passwordEncoder.encode(password);
passwordRepo.updatePassword(username, newPassword);
return "redirect:/";
}
如果可能的话,我希望将我的所有字段放入一个列表中,以便我在列表中拥有用户名、密码和复选框。
【问题讨论】: