WicketがサブセットのURLに対して私のPage
インスタンスをインスタンス化する方法を変更したいと思います。通常、クラスをURLにマップしてmount()
とします。この場合、Wicketはそのクラスの利用可能なコンストラクタの1つを選択してインスタンス化します。(どのように)Wicketでページを設定するカスタムクラスを提供できますか?
私のアプリケーションの一部は、異なるエンティティタイプ間で共通している単純なCRUD操作です。私はいくつかの工場とヘルパークラスに共通点を因数分解していると、今、私はこのようになります私のページのクラス階層が残っている:私は最後の二つのレベルをカットしたい
TemplatePage | AbstractEntityPage | | AbstractVenuePage AbstractEventPage | | | | ViewVenuePage EditVenuePage ViewEventPage EditEventPage、なぜならより多くのエンティティタイプが追加され、それらのクラスに残っているコードはほとんどなく、より一般的なオブジェクトに簡単に取り入れることができるため、階層が広がり始めます。
AbstractEntityPage
をクラスEntityPage
に変換するのは簡単ですが、必要に応じて特定のコンポーネントを適切な場所に接続します。私は通常これを行うためにBuilderを使用しますが、私はWicketにそれを使用するようにどのように伝えるのか分かりません。私はAPIのドキュメントでそれについてのフックを見つけることができませんでした。
処理する必要があるページの種類は何ですか。エンティティのエディタ/ビューアは明白ですが、他に何かありますか? – ireddick
@ireddick - 作成、更新、削除もありますが、これらはページをレンダリングせずに何らかのアクションを実行してリダイレクトするため、別のセットです。ただし、後でビューとバリエーションが異なる場合があります。 –