首页 > 代码库 > 个性化wicket的pagingnavigator

个性化wicket的pagingnavigator

让navigator按自己的要求呈现,可以作为wicket入门练习的好例子,比如看起来是bootstrap的pager。

让我们从wicket内置的PagingNavigation开始,通过override PagingNavigation 的 ??populateItem?? 方法更改pagingnavigation的外观。

 protected void populateItem(LoopItem loopItem)
 {
        final int page = loopItem.getIteration();
        final PagingNavigationLink link = new PagingNavigationLink("pageLink", pageableListView, page);
        if (page > 0)
        {
                loopItem.add(new Label("separator", "|"));
        }
        else
        {
                loopItem.add(new Label("separator", ""));
        }
        link.add(new Label("pageNumber", String.valueOf(page + 1)));
        link.add(new Label("pageLabel", "page"));
        loopItem.add(link);
 }

加上模板的变更:

 <span wicket:id="navigation">
        <span wicket:id="separator"></span>
        <a wicket:id="pageLink" href="http://www.mamicode.com/#">
                <span wicket:id="pageLabel"></span><span wicket:id="pageNumber"></span>
        </a>
 </span>

通过override newPagingNavigationLink 方法可以更改link的行为,比如变成ajax。就像内置的AjaxPagingNavigation那样。

当然在参考源代码的基础上,也已完全自己写。但继承似乎更好一些,毕竟他们是经过深思熟虑之后组织的格式。

个性化wicket的pagingnavigator