个性化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="#">
                <span wicket:id="pageLabel"></span><span wicket:id="pageNumber"></span>
        </a>
 </span>

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

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

时间: 2024-08-28 19:54:40

个性化wicket的pagingnavigator的相关文章

如何调整wicket的PagingNavigator的html输出

这是默认模板: <wicket:panel> <a wicket:id="first" class="first"><<</a> <a wicket:id="prev" class="prev"><</a> <span wicket:id="navigation" class="goto"> <

wicket的模板继承(一)

wicket的组件和html文件总是成对出现,比如A.java和A.html. 如果没有成对出现,可能是inline模板,或者来自继承. 以wicket内置的PagingNavigator组件为例,查看源文件包,有对应的PagingNavigator.html文件存在. 现在新建一个MyPagingNavigator类,继承自PagingNavigator. 这是PagingVavigator.html的内容: <wicket:panel> <a wicket:id="firs

产品学习之个性化推荐和热度算法详解

今日头条的走红带动了"个性化推荐"的概念,自此之后,内容型的产品,个性化算法就逐渐从卖点变为标配. 伴随着"机器学习","大数据"之类的热词和概念,产品的档次瞬间提高了很多.而各种推荐算法绝不仅仅是研发自己的任务,作为产品经理,必须深入到算法内部,参与算法的设计,以及结合内容对算法不断"调教",才能让产品的推荐算法不断完善,最终与自己的内容双剑合璧. 本文以新闻产品为例,结合了我之前产品从零积累用户的经验,整理了作为PM需要了

微信个性化菜单开发模式

最近一个礼拜搞了一个微信自定义菜单的开发,总的来说蛮郁闷的. 先给几个接口做下分析: 1:查询接口:查询接口分为两个,一个是开发模式下的普通查询接口,他只会查询出你通过添加接口创建出来的菜单和个性化的菜单(让公众号的不同用户群体看到不一样的自定义菜单),而不能获取到你通过微信管理平台添加的菜单.还有一个是可以查询全部菜单的接口,这个接口有点蛋疼,如果你先在平台上添加一个菜单,然后后台调用这个接口就可以获取到这个菜单,但调用这个接口的返回的json跟添加时的格式是不一样的(就是说你把它发回给你的j

Python - Seaborn可视化:图形个性化设置的几个小技巧

1 概述 在可视化过程中,经常会对默认的制图效果不满意,希望能个性化进行各种设置. 本文通过一个简单的示例,来介绍seaborn可视化过程中的个性化设置.包括常用的设置,如: 设置图表显示颜色 设置图表标题,包括显示位置,字体大小,颜色等 设置x轴和y轴标题,包括颜色,字体大小 设置x轴和y轴刻度内容,包括颜色.字体大小.字体方向等 将x轴和y轴内容逆序显示 设置x轴或y轴显示位置 本文的运行环境: windows 7 python 3.5 jupyter notebook seaborn 0.

Windows 修改个性化时间显示

我感觉我的时间显示不够人性化.不够个性化 修改注册表 我的系统为Windows 10 下图为我的时间显示 我感觉它不够个性化,人性化,我想自定义一份独特的时间显示格式 修改注册表 Windows键+R键,调出一下窗口,输入regedit 打开注册表 如下图: 定位到  \HKEY_CURRENT_USER\Control Panel\International 在右侧找到sTimeFormat , 修改该值的数值为"现在是 HH:mm:ss" 修改完成后可以即时看到效果 如下图: 修改

互金时代如何定制个性化信用评分模型

互金时代如何定制个性化信用评分模型 相比起传统金融机构,互联网金融以个性化服务取胜,由此也催生了各类深耕细分市场的互联网金融公司.不过这样一来,原来传统风控的玩法和经验,已经很难满足新兴互联网金融公司的风控需求. 如何用最为省时省力的方法,打造契合自身业务特色的个性化风控模型?如何利用先进的大数据手段,迅速提高风控的效率,降低风控的成本?今天就让处座来介绍一下吧. 风控将成互联网金融发展"痛点" 在经历2013至2014年的爆发式发展之后,互联网金融行业逐渐步入到规范化发展阶段.201

CRM系统PaaS化,满足企业个性化需求

一千个人,有千种长像,一千个企业,有各种需求.有千种流程,标准模式的CRM系统很难满足个性化流程及需求的企业,那么CRM系统要Paas化,才能满足个性化需求的企业. PaaS是什么? PaaS是Platform-as-a-Service的缩写,意思是平台即服务. 把服务器平台作为一种服务提供的商业模式.通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Ser

个性化的亲切——《沉思录》引发的感悟

记得初中那阵子,曾经追过明星,甚至美的标准也变成了他——恨不得所有的明星都是长的和他一样,唱的和他一样.除了他的歌,我几乎欣赏不了其他人的歌. 还记得差不多在那个年纪,曾经幻想过世界“大统”——我认为“大统”是达到“大同”,消弭纷争的有效方式.惭愧,后来知道希特勒也是这么想的.此乃后话,不提. 也几乎是那个时候,我不愿再做“出头鸟”,我相信“人多力量大”,我总愿意融在身边的“圈子”,不想显得自己不合群. 个性化,在我们的应试教育体制中从来都没有得到特别的提倡,如果没有良师益友的及时提点,一定会让