我尝试将PageableListView与PagingNavigation一起使用。从看起来很简单的示例来看,但我无法使其正常工作。我总是收到以下错误消息:


以下组件未能完成
渲染。一个普遍的问题是你
在代码中添加了一个组件,但是
忘记在标记中引用它


这是我的Java代码:

class FriendsPanel extends Panel {
public FriendsPanel(String id){
    super(id);

    List<User> friends = ...;

        PageableListView<User> listview = new PageableListView<User>("listview", friends, 10) {
            protected void populateItem(ListItem<User> item) {
                User user = item.getModel().getObject();
                item.add(new Label("label", user.getName()));
            }
        };

        add(listview);
        add(new PagingNavigation("navigator", listview));
    }
}
}


我的html看起来像这样:

<html xmlns:wicket>
  <wicket:panel>
    <br />
    <span wicket:id="listview">
        <span wicket:id="label">label</span><br>
    </span>
    <div wicket:id="navigator"></div>
  </wicket:panel>
</html>


任何想法如何使这项工作?

最佳答案

PagingNavigation不提供任何标记。如果要使用它,则必须为“ pageLink”和“ pageNumber”组件提供标记。 The javadoc指示应如何布置它们。

易混淆的PagingNavigator是上述内容的默认版本,您可以直接插入(这是一个包含PagingNavigation的面板)。您可能只想使用它。

09-15 18:38