1

私はアイデアがなく、コミュニティの専門家に目を向けています。私はこの方向に私を駆り立てているHibernateシングルテーブル継承を使用しています。

Discriminatorを使用する多くのサブクラスを持つBaseEntityクラスがあります。CRUD操作にはSpringMVC注釈付きコントローラーを使用し、ビューにはSpringフォームタグを使用するJSPを使用しています。

フォームが使用するサブクラス化されたエンティティを含むbackingFormがあります。大量の重複コードを保存するために、BaseEntityのフィールドを含むcommon.jspと、各サブクラスに固有の他のJSPがあります。これらの他のJSPにはcommon.jspが含まれます。pathVariableを調べてから、適切なサブクラスをロードしてフォームに追加することで、データを適切に表示できます。フォームの送信とSpringのDataBindingにより、私は夢中になりました。Springが特定のネストされたプロパティに動的に投稿できるようにするための良い方法を提案できますか?フォームの送信にポリモーフィズムを使用するようなものだと考えてください。私は混乱しているように見えるかもしれませんが、idfの誰もがこれを試したことがあるので、それは完全に理にかなっているはずです:-)。これは動的リストバインディング(AutoPopulating)に関するものではなく、これは非常に異なります。

洞察に感謝します。

4

1 に答える 1

1

注釈付きコントローラー内では、別の方法として実行できます。

@ModelAttribute("backingObject")
public SuperClass getBackingObject(HttpRequest request //etc) {
  //determine value of your path variable
  //create appropriate subcass
  return subClassInstanceForBinding;
}

したがって、Springがバインドされると、コンストラクターを探すのではなく、そこに配置して使用するモデルマップで「backingObject」が検出されます。

于 2012-04-19T17:50:58.530 に答える