gpt4 book ai didi

java - 在 Thymeleaf 中对实体使用 'select' 标签

转载 作者:搜寻专家 更新时间:2023-10-31 20:21:30 25 4
gpt4 key购买 nike

我正在创建一个带有 select 标签的表单,如下所示:

<form th:object="${version}" method="post" class="form-horizontal">
...
<div class="control-group" th:classappend="${#fields.hasErrors('product')} ? 'error'">
<label class="control-label" for="product" th:text="#{version.product}">Product</label>
<div class="controls">
<select id="product" th:field="*{product}">
<option value="" th:text="#{common.select.prompt}"></option>
<option th:each="p : ${productList}" th:value="${p.id}" th:text="${p.name}"></option>
</select>
<span class="help-inline" th:errors="*{product}"></span>
</div>
</div>
...
</form>

DomainClassConverterSpring Data JPA有助于自动转换选定的 id到实体Product当我提交表格时。 product也应该不为空(我在 @NotNull 类的 product 字段上使用 Version

我遇到的问题 - 当我回来编辑数据时,Product未被选中。

如果我修改 select像这样( th:fieldth:errors ): <-- p.s. is not a sad smile

<select id="product" th:field="*{product.id}">
<option value="" th:text="#{common.select.prompt}"></option>
<option th:each="p : ${productList}" th:value="${p.id}" th:text="${p.name}"></option>
</select>
<span class="help-inline" th:errors="*{product.id}"></span>

然后当我回来编辑它时它被选中,但是 validator 不起作用( product 总是被实例化,即使选择的 id 是 null )。

这看起来像是一个非常常见的场景(从列表中选择一个实体),但我找不到任何好看的例子。请分享 secret 知识。

最佳答案

已解决。问题存在是因为我没有覆盖 equals()hashCode() 方法。

关于java - 在 Thymeleaf 中对实体使用 'select' 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15227680/

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