我尝试将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的面板)。您可能只想使用它。