我想用thymeleaf制作一个简单的表单,它只使用部分数据,其余的数据通常显示给用户。但是我被困在了thymeleaf上:字段改变了html标记名。这样做的结果是表单工作不正常-我可以检查一些选项。我只想选择一个选项。下面是我写的代码:
<div class="row justify-content-center">
<div class="text-center" th:object="${post}">
<h2 th:text="*{title}">Title</h2>
<div>
<label th:text="*{shortDescription}">Short description</label>
</div>
<form action="#" method="post" th:action="@{/post/{id}(id=${post.id})}" class="mt-5">
<div class="form-group">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="option1" name="option" class="custom-control-input" value="1" th:field="*{option1}">
<label class="custom-control-label" th:text="*{option1.getOptionValue() + ' - ' + option1.getVoteAmount()}"></label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="option2" name="option" class="custom-control-input" value="2" th:field="*{option2}">
<label class="custom-control-label" th:text="*{option2.getOptionValue() + ' - ' + option2.getVoteAmount()}"></label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="option3" name="option" class="custom-control-input" value="3" th:field="*{option3}">
<label class="custom-control-label" th:text="*{option3.getOptionValue() + ' - ' + option3.getVoteAmount()}"></label>
</div>
</div>
<button class="btn btn-primary" type="submit">Vote</button>
</form>
</div>
</div>
这是我的控制器:
@PostMapping("/post/{id}")
public String updateRoom(@ModelAttribute("id") Integer id, String option1, String option2, String option3 , Model model) {
Post post = postModel;
postService.increaseVoteCounter(option1, option2, option3, post);
model.addAttribute("post", postModel);
return "detailsPost";
}
postmodel类是这样的:
public class PostModel {
private String username;
private String option1;
private String option2;
private String option3;
private String shortDescription;
private String title;
//getters and setters
}
最后是它在浏览器中的样子:图像
1条答案
按热度按时间ruoxqz4g1#
th:field
总是更改名称和id你不应该在这里用
了解更多信息