1

我的网页显示了两个表格,它们显示了对相同数据的不同视图。

这些表由 Wicket DataView 对象支持,这些对象利用 DataProvider 为表提供数据。

现在因为这两个表显示相同数据的不同视图,所以我在两个 DataView 之间共享相同的 DataProvider。

但是在我的 DataProvider 中,我看不到确定哪个 DataView 正在请求数据的方法。有没有办法在我获取数据的时候区分这两者?需要某种方式知道我正在处理哪个表,以便我可以相应地过滤数据。

最好的方法是什么?

4

1 回答 1

1

在您的中定义一个可覆盖的方法,DataProvider该方法将执行特定的逻辑,或获取有关要执行的逻辑的信息,并通过实例化它的视图中的匿名子类来实现它。通过这种方式,您可以将一些逻辑(或执行它所需的数据)委托给使用DataProvider.

请注意,这是将 DataProvider 子类化为公共类并直接在视图中使用它们的惰性版本。

于 2012-09-12T11:20:34.193 回答