0

Vaadin バージョン 6.8.0 (Grails Vaadin プラグイン バージョン 1.5.4 経由) を使用するアプリケーションがあります。

別のクラスFileと 1:1 の関係を持つJava ドメイン クラスIssueがある場合、(プレミアム) Vaadin JPA コンテナーなしで、 IssueFormを記述して新しい問題を作成し、既存の問題を編集する最良の方法は何ですか?

フォームでは、使用可能なすべてのファイルから 1 つのファイルを選択する ComboBox を表示したいと考えています。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 をドメイン永続クラスの Issue と File に変換します。

于 2013-02-02T10:59:27.290 に答える