我有一个使用 Vaadin 版本 6.8.0 的应用程序(通过 Grails Vaadin 插件版本 1.5.4)。
如果我有一个与另一个类File具有 1:1 关系的 Java 域类问题,那么在没有(高级)Vaadin JPA 容器的情况下,编写IssueForm以创建新问题和编辑现有问题的最佳方法是什么?
在表单中,我想显示一个组合框来选择所有可用文件中的一个文件。我已经知道我可以在IssueForm构造函数中做这样的事情:
setFormFieldFactory(new DefaultFieldFactory() {
@Override
public Field createField(Item item, Object propertyId, Component uiContext) {
if (propertyId.equals("cover")) {
ComboBox cb = new ComboBox("Cover")
for (FileListItem fileListItem : fileService.getAllFilesForCategory()) {
cb.addItem(fileListItem);
}
return cb;
} else {
Field field = super.createField(item, propertyId, uiContext);
return field;
}
}
});
- 如果我使用 DTO 将 Vaadin bean 连接到我的 Java 域类,IssueListItem 是否需要引用 FileListItem?还是直接存档?
- 我可以在新的/编辑的问题中自动填充选定的文件(或 FileListItem?)吗?如何?如果没有,如何解决这个问题?