1

我正在尝试从缓存中获取表单的先前值,清除一个值并使用除已清除的值之外的所有先前值呈现表单。

DynamicForm dform = (DynamicForm) Cache.get("dform");
Cache.set("dform",null,0);
if (dform == null) {
  dform = new DynamicForm();
} else {
  dform.data().put("name","");
}
return ok(myform.render(dform));

dform.data().put("name","")除了不改变名称字段的值外,其他一切都按预期工作。为什么?如何设置该字段的值?

4

1 回答 1

2

从 play 2.1 开始,您无法更改数据。如果要更改它,则需要执行以下操作:

Map<String,String> data = dform.data();
data.put("name", "");
dform = new DynamicForm().fill(data);

祝你好运。

于 2014-05-27T04:25:38.967 回答