我在Wicket中遇到PagingNavigator问题,我不明白为什么我需要它。这里的东西,我想用一个PagingNavigator与数据视图为什么PagingNavigator不生成网址?
dataView = new DataView("pageableTicketsList", provider){
protected void populateItem(final Item item) {
//Somes codes here
};
navigator = new PagingNavigator("navigator", dataView);
dataView.setItemsPerPage(30);
addOrReplace(dataView);
addOrReplace(navigator);
在HTML文件中,我只是有:
<wicket:enclosure child="navigator">
<div class="navigator">
<span wicket:id="navigator" ></span>
</div>
</wicket:enclosure>
当我在一个网页浏览器进行测试,其实,我有示出的页数为:
< < < 1 2 3 4 5 6 7 8 9 10> >>
但是任何人都可以点击的。
我萤火看到的网址不正确这样产生的:
<a href="?wicket:interface=:13:mypage:navigator:navigation:0:pageLink:4:ILinkListener::"><span>1</span>
</a>
相反,我只是有
<span>1</span>
我不明白这一点,我在做什么错了?
这里是我的供应商的代码
public class MyProvider implements IDataProvider {
private List<Ticket> ticketsList;
public MyProvider(TicketService ticketService // and some paramaters){
ticketsList = ticketService.getListBy(//the parameters);
}
public Iterator iterator(int first, int count) {
return ticketsList.subList(first, first + count).iterator();
}
public IModel model(final Object object) {
return new LoadableDetachableModel() {
@Override
protected Object load() {
return (Ticket)object;
}};
}
public int size() {
return ticketsList.size();
}
public void detach() {
}
public List<Ticket> getTicketsList() {
return ticketsList;
}
public void setTicketsList(List<ListTicketsExtranetView> ticketsList) {
this.ticketsList = ticketsList;
}
}
size()
返回的方法正确的价值和navigator.isEnabled()
返回true
好了,挖了一整天之后,我终于找到了在那里我的问题就来了从: 我有一个WebMarkupContainer
已被添加到我的网页,如果我删除WebMarkupContainer
,PagingNavigator
工作正常。虽然它们之间没有依赖关系,但我使用WebMarkupContainer
来显示一个消息,如果一张门票清单是否为空。 那么为什么WebMarkupContainer
对PagingNavigator
有影响?
您使用的是Ajax吗?如果是这样,你是否将'PagingNavigator'添加到请求目标中? – gnuf 2010-12-17 17:44:26
不,我没有使用Ajax – dagofly 2010-12-20 10:44:31
关于WebMarkupContainer:很难说没有看到更多的代码。你可以自豪吗? – bert 2010-12-21 12:39:34