java – 在Thymeleaf中使用’select’标签和实体
发布时间:2020-12-14 19:34:23 所属栏目:Java 来源:网络整理
导读:我正在创建一个带有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="produ
我正在创建一个带有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> Spring Data JPA的DomainClassConverter类有助于在我提交表单时自动将选定的id转换为实体Product.该产品也应该不为null(我在Version类的product字段中使用@NotNull. 我遇到的问题 – 当我回来编辑数据时,未选择产品. 如果我像这样修改选择(th:field和th:errors):< - ps.s.不是悲伤的笑容 <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> 然后当我回来编辑它时它会被选中,但验证器不起作用(产品总是被实例化,即使选择的id为null). 它看起来像一个非常常见的场景(从列表中选择一个实体),但我找不到任何好看的例子.请分享秘密知识. 解决方法
解决了.存在的问题是因为我没有覆盖equals()和hashCode()方法.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 克隆()真的用过吗?在getter / setter中防御性复制
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09
- java – Spring Security AuthenticationCredentialsNotFou
- java微信企业号开发之发送消息(文本、图片、语音)
- java – FlexJson – 无法序列化Double []数组
- 详解Java中格式化日期的DateFormat与SimpleDateFormat类
- 我应该使用什么java库进行图像裁剪/ letterboxing?
- java 中线程等待与通知的实现
- 如何修复java.lang.arrayindexoutofboundsexception:0?
- java精度计算代码 java指定精确小数位