Search Wicket中的通用搜索表单/面板

Search Wicket中的通用搜索表单/面板,search,wicket,panel,dao,Search,Wicket,Panel,Dao,我试图在Wicket中实现一个通用搜索表单/面板。表单应该允许在实体中的多个字段中进行搜索(使用DAO模式),以便过滤ListView或DataView的输出。最好的方法是什么?我曾想过使用扩展数据提供程序来实现这一点,但我还没有看到任何真正的例子 有人实施过这样的事情吗?一些指针会很好 编辑 一个可能有助于确定答案方向的传统问题: Wicket模型与数据提供者结合得好吗 您可以使用搜索方法扩展IDataProvider: public interface SearchableData

我试图在Wicket中实现一个通用搜索表单/面板。表单应该允许在实体中的多个字段中进行搜索(使用DAO模式),以便过滤ListView或DataView的输出。最好的方法是什么?我曾想过使用扩展数据提供程序来实现这一点,但我还没有看到任何真正的例子

有人实施过这样的事情吗?一些指针会很好

编辑

一个可能有助于确定答案方向的传统问题:

  • Wicket模型与数据提供者结合得好吗

您可以使用搜索方法扩展IDataProvider:

    public interface SearchableDataProvider<T> extends IDataProvider<T> {

    public void setSearchQuery(String... query);

    public void clearSearchQuery();


    @Override
    public Iterator<? extends T> iterator(int first, int count);


    @Override
    public int size();

}
公共接口SearchableDataProvider扩展IDataProvider{
公共void setSearchQuery(字符串…查询);
public void clearSearchQuery();
@凌驾

公共迭代器您可以使用搜索方法扩展IDataProvider:

    public interface SearchableDataProvider<T> extends IDataProvider<T> {

    public void setSearchQuery(String... query);

    public void clearSearchQuery();


    @Override
    public Iterator<? extends T> iterator(int first, int count);


    @Override
    public int size();

}
公共接口SearchableDataProvider扩展IDataProvider{
公共void setSearchQuery(字符串…查询);
public void clearSearchQuery();
@凌驾

公共迭代器这将是一个很好的实现方法-除非我已经实现了我的DAO,所以构建我自己的“字符串…查询”是不可行的。我正在尝试实现更多的wicket模型…但我不确定它们(wicket模型)与DataProvider很好地结合实际上,这个答案帮助我找到了一种方法来实现这一点,所以我接受它。基本上,我会将几个模型绑定到几个文本字段,并应用onchange行为并重置提供程序输出…与给出的答案非常相似,但使用模型而不是查询。谢谢。这将是一个很好的实现方法-除非我已经实现了我的DAO,所以构建我自己的“字符串…查询”是不可行的。我正在尝试实现更多转向wicket模型的东西…但我不确定它们(wicket模型)与DataProvider很好地结合实际上,这个答案帮助我找到了一种方法来实现这一点,所以我接受它。基本上,我会将几个模型绑定到几个文本字段,并应用onchange行为并重置提供程序输出…与给出的答案非常相似,但使用模型而不是查询。谢谢。