视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何调整wicket的PagingNavigator的html输出_html/css_WEB-ITnose
2020-11-27 16:33:38 责编:小采
文档

这是默认模板:

	<<	<	5	>	>>

当然最外围的tag由该组件的模板决定。比如外围用div:

 

现在假设需要purecss样式的pagingNavigator,它的html如下:

 
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • 可见两者的差别还是不少。让我们看看可能的方法:

    1、新建一个类,继承PagingNavigator。

    比如类名称是PagingNavigator,然后建立对应的模板文件PagingNavigator.html,内容如下:

     
  • «
  • «
  • »
  • »
  • 这样子画出来的PagingNavigator的就是purecss样式的。但是还需要完善,当前页的样式,没有最后一页的时候按钮应该disabled。也就是说根据当前页的情况需要添加pure-button-disabled,或者pure-button-active样式。

    为了达成这个功能,我们需要更深的探究PagingNavigator类,看看哪里可以实现这个功能。

    对照上面的模板,其中wicket:id="navigation"对应的是PagingNavigation组件,其中有一个方法是:

    @Override	protected void populateItem(final LoopItem loopItem)	{	// Get the index of page this link shall point to	final long pageIndex = getStartIndex() + loopItem.getIndex();	// Add a page link pointing to the page	final AbstractLink link = newPagingNavigationLink("pageLink", pageable, pageIndex);	link.add(new TitleAppender(pageIndex));	loopItem.add(link);	// Add a page number label to the list which is enclosed by the link	String label = "";	if (labelProvider != null)	{	label = labelProvider.getPageLabel(pageIndex);	}	else	{	label = String.valueOf(pageIndex + 1);	}	link.add(new Label("pageNumber", label));	}

    其中TitleAppender用来添加link的title属性,这样鼠标移到上面的时候就会提示,比如goto 2 page等等。接下来是label,就是pageNumber对应的组件。

    可以通过复写这个方法,根据情况对label进行修饰(AttributeModifier),最终达到需要的效果。

    下载本文
    显示全文
    专题