【发布时间】:2015-01-10 10:00:59
【问题描述】:
我想通过使用编辑器绑定 POJO 来改进我的 gwt 项目的代码,我过去常常手动地来回解析到小部件。但是我发现documentation 令人困惑,主要是因为它引用了ui binder,这是我还没有弄清楚的另一个功能。
在没有 ui binder 的情况下使用编辑器有意义吗?我的 ParentDTO 包含许多 childDTO。以下 sn-p 显示了我如何尝试将一些由 TextArea 扩展的 ChildEditor 嵌套到我的 ParentEditor 中(试图将其剥离为基本要素):
public class MyEditorPage {
// editors
class ParentDTOEditor implements Editor<ParentDTO> {
Integer dataBaseId;
List<ChildDTOEditor> childs;
public void attach(RootPanel rootPanel) {
for (ChildDTOEditor widget : childs) {
rootPanel.add(widget);
}
}
}
class ChildDTOEditor implements Editor<ChildDTO> extends TextArea {}
// driver
interface Driver extends SimpleBeanEditorDriver<ParentDTO, ParentDTOEditor> {}
Driver driver = GWT.create(Driver.class);
// load set widgets to the root panel
public void loadPage(RootPanel rootPanel) {
// get pojos from server
myService.getSuff(...
...
public void onSuccess(ParentDTO result) {
ParentDTOEditor editor = new ParentDTOEditor();
driver.initialize(editor);
driver.edit(result);
editor.attach(rootPanel);
}
}
// save
public void save() {
ParentDTO dto = driver.flush();
... // call myService.saveStuff(dto,...
}
}
我什至需要单独的编辑器还是只需要一个 ListEditor 类型的父编辑器直接保存子 dto?
【问题讨论】:
标签: java user-interface gwt uibinder