name标记正在更改

ih99xse1  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(262)

我想用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
}

最后是它在浏览器中的样子:图像

ruoxqz4g

ruoxqz4g1#

th:field 总是更改名称和id
你不应该在这里用
了解更多信息

相关问题