如何使用Hibernate中的内容向ApacheWicket数据表添加排序?

如何使用Hibernate中的内容向ApacheWicket数据表添加排序?,hibernate,sorting,datatable,wicket,Hibernate,Sorting,Datatable,Wicket,我在Wicket 1.5中构建了一个现有数据表,如下所示: 页面的java文件 public class ExamplePage extends WebPage { public ExamplePage(){ List<IColumn<Example>> columns = new ArrayList<IColumn<Example>>(); columns.add(new PropertyColumn<Example>(Model.o

我在Wicket 1.5中构建了一个现有数据表,如下所示:

页面的java文件

public class ExamplePage extends WebPage {
public ExamplePage(){
List<IColumn<Example>> columns = new ArrayList<IColumn<Example>>();
columns.add(new PropertyColumn<Example>(Model.of("name"), "name"));
ExampleProvider provider = new ExampleProvider();

        DataTable<Example> exampleTable = new DataTable<Example>("exampleTable", columns, provider, 10);
        exampleTable.addTopToolbar(new HeadersToolbar(exampleTable, null));
        exampleTable.addBottomToolbar(new NavigationToolbar(exampleTable));
        add(exampleTable);
    }
}
我尝试添加setSort(新的sortpram(“name”,true));到提供程序构造函数

我还尝试将完整的后端添加到DAO中,以便返回表的排序部分

我还尝试为页面的属性文件添加一个字段,类似于底部的第一个资源站点

我所有的尝试都会导致相同的错误。我想我一定遗漏了一些简单的东西,但我检查了很多例子,什么也没发现

我已经检查过的资源包括以下内容:

  • 阿帕奇Wicket食谱

不要在新的HeadersToolbar上传递“null”(例如,null)。

您需要通过扩展
SortableDataProvider
来定义自定义数据提供程序,然后将其传递到
HeadersToolbar
。例如:

new HeadersToolbar(exampleTable, exampleSortableDataProvider)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:wicket="http://wicket.apache.org"  
      xml:lang="en"  
      lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <wicket:extend>
        <table wicket:id="exampleTable" />
    </wicket:extend>
</body>
</html>
columns.add(new PropertyColumn<Example>(Model.of("name"), "name", "name"));
Last cause: null
WicketMessage: Exception in rendering component: [ [Component id = header]]

java.lang.NullPointerException
    at org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink$CssModifier.onComponentTag(OrderByLink.java:190)
    at org.apache.wicket.Component.renderComponentTag(Component.java:3885)
    at org.apache.wicket.Component.internalRenderComponent(Component.java:2506)
    at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1576)
    at org.apache.wicket.Component.internalRender(Component.java:2345)
    at org.apache.wicket.Component.render(Component.java:2273)
    at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1474)
    ...
new HeadersToolbar(exampleTable, exampleSortableDataProvider)