1

私の Web ページには 2 つのテーブルが表示され、同じデータに対して異なるビューが表示されます。

テーブルは、DataProvider を使用してテーブルのデータを提供する Wicket DataView オブジェクトによってサポートされます。

2 つのテーブルが同じデータの異なるビューを表示しているため、両方の DataView 間で同じ DataProvider を共有しています。

しかし、私の DataProvider では、どの DataView がデータを要求しているかを判断する方法がわかりません。データを取得している時点で、2 つを区別する方法はありますか? それに応じてデータをフィルタリングできるように、どのテーブルを扱っているかを知る何らかの方法が必要です。

これに対する最善のアプローチは何ですか?

4

1 に答える 1

1

DataProvider特定のロジックを実行するオーバーライド可能なメソッドを定義するか、実行するロジックに関する情報を取得し、それをインスタンス化するビューの匿名サブクラスを使用して実装します。このようにして、一部のロジック (またはそれを実行するために必要なデータ) を、DataProvider.

これは、DataProvider をパブリック クラスにサブクラス化し、それらをビューで直接使用する遅延バージョンであることに注意してください。

于 2012-09-12T11:20:34.193 に答える