【发布时间】:2014-09-21 13:29:53
【问题描述】:
我有一个简单的文本输入字段,我必须在其中设置一个对象的默认值并将其最终值保存在另一个对象中。以下代码不起作用。
<div th:object="${form}">
<input class="form-control"
type="text"
th:value="${client.name}" //this line is ignored
th:field="*{clientName}"/>
</div>
form 是 DTO 对象,client 是数据库中的 Entity 对象。
解决这种情况的正确方法是什么?
我的意思是不工作 - 假设初始值为 client.name="Foo" 和 form.clientName=null。 我需要输入字段显示值为“Foo”,并且在表单提交后 form.clientName 值变为“Foo”。但是输入字段没有显示任何内容,并且在提交 form.clientName 值仍然为空;
如果有人感兴趣,请使用以下结构解决此问题(在另一个问题中找到答案)。
th:attr="value = ${client.name}"
【问题讨论】:
-
定义“不工作”。 究竟正在发生什么以及应该发生什么?
-
为什么不用默认值填充模型 - 从而将逻辑从模板移到可能更适合的控制器中?
-
我想我在这里回答了类似的问题stackoverflow.com/questions/25808433/…
标签: html spring spring-mvc thymeleaf