0

我有一个使用 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?)吗?如何?如果没有,如何解决这个问题?
4

1 回答 1

0

如果您使用 DTO,则可以:IssueListItem 需要引用 FileListItem,然后在另一个地方将 IssueListItem 和 FileListItem 转换为域持久类问题和文件。

于 2013-02-02T10:59:27.290 回答