1.Navigator.java
package com.logcd.wicket.list;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.navigation.paging.IPageable;
import org.apache.wicket.markup.html.navigation.paging.IPagingLabelProvider;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigation;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.model.LoadableDetachableModel;
public class Navigator extends PagingNavigator {
private static final long serialVersionUID = 1;
public Navigator(String arg0, final IPageable arg1,final Integer total) {
super(arg0, arg1);
Link totallink = new Link("totallink") {
private static final long serialVersionUID = 1;
@Override
public boolean isEnabled() {
return arg1.getPageCount() - 1 > 0;
}
@Override
public void onClick() {
arg1.setCurrentPage(arg1.getPageCount() - 1);
}
};
totallink.add(new Label("totalcount", new LoadableDetachableModel() {
private static final long serialVersionUID = 1;
@Override
protected Object load() {
return String.valueOf(arg1.getPageCount());
}
}));
this.add(totallink);
this.add(new Label("total",total.toString()));
}
public Navigator(String arg0, final IPageable arg1,
IPagingLabelProvider arg2,final Integer total) {
super(arg0, arg1, arg2);
Link totallink = new Link("totallink") {
private static final long serialVersionUID = 1;
@Override
public boolean isEnabled() {
return arg1.getPageCount() - 1 > 0;
}
@Override
public void onClick() {
arg1.setCurrentPage(arg1.getPageCount() - 1);
}
};
totallink.add(new Label("totalcount", new LoadableDetachableModel() {
private static final long serialVersionUID = 1;
@Override
protected Object load() {
return String.valueOf(arg1.getPageCount());
}
}));
this.add(totallink);
this.add(new Label("total",total.toString()));
}
@Override
protected PagingNavigation newNavigation(IPageable arg0,
IPagingLabelProvider arg1) {
return new PagingSetting("navigation", arg0, arg1, this);
}
}
2.PagingSetting.java:用于,显示控制
package com.logcd.wicket.list;
import org.apache.wicket.markup.html.navigation.paging.IPageable;
import org.apache.wicket.markup.html.navigation.paging.IPagingLabelProvider;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigation;
public class PagingSetting extends PagingNavigation {
private static final long serialVersionUID = 1;
@SuppressWarnings("unused")
private IPageable arg1 = null;
private Navigator style = null;
public PagingSetting(String arg0, IPageable arg1, IPagingLabelProvider arg2,
Navigator style) {
super(arg0, arg1, arg2);
this.arg1 = arg1;
this.style = style;
this.setViewSize(5);
}
@Override
protected void onModelChanged() {
super.onModelChanged();
style.get("first").setVisible(true);
style.get("prev").setVisible(true);
style.get("next").setVisible(true);
style.get("last").setVisible(true);
if (arg1.getCurrentPage() < 2) {
style.get("first").setVisible(false);
}
if (arg1.getCurrentPage() < 1) {
style.get("prev").setVisible(false);
}
if (arg1.getCurrentPage() > arg1.getPageCount() - 2) {
style.get("next").setVisible(false);
}
if (arg1.getCurrentPage() > arg1.getPageCount() - 3) {
style.get("last").setVisible(false);
}
}
}
3.Navigator.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" rel="stylesheet" href="styles/wicket.css"></link>
<link type="text/css" rel="stylesheet" href="styles/office.css"></link>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<wicket:panel>
<a wicket:id="first" class="text">首页</a>
<a wicket:id="prev" class="text">上一页</a>
<span wicket:id="navigation"> <a wicket:id="pageLink"
href="#"><span wicket:id="pageNumber" class="text">0</span></a> </span>
<a wicket:id="next" class="text">下一页</a>
<a wicket:id="last" class="text">尾页</a>
总页数:<a wicket:id="totallink" href="#"><span
wicket:id="totalcount">0</span></a> 页
总记录数:<span wicket:id="total">0</span> 条
</wicket:panel>
</td>
</tr>
</table>
</body>
</html>
4.应用
(1)java:
form.add(new Navigator("navigator", listView2,listView2.getList().size()));
(2)html:
<style type="text/css">
<!--
i,em{
font-style: normal;
color: #CCCCCC;
}
#datNav{
border:1px solid #8C9EBF;
width:100%;
table-layout:fixed;
line-height: 20px;
background-color:#F4F8FF;
}
-->
</style>
<div class="datNav"><span wicket:id ="navigator">这里显示分页操作</span></div>
分享到:
相关推荐
7. **分页与排序**:Wicket 提供了`PagingNavigator`和`SortableDataProvider`来支持数据的分页和排序。 **三、Wicket 组件** 1. **基础组件**:包括`Label`(显示文本)、`Link`(点击链接)、`Form`(表单提交)...
Wicket与其他面向组件的框架相比 威克特说“你好世界!” 4.1。Wicket分发和模块 4.2。Wicket应用程序的配置 4.3。HomePage类 4.4。Wicket链接 4.5。摘要 5. Wicket作为页面布局管理器 5.1。页眉,页脚,左侧菜单,...
1. **组件驱动**:Wicket的组件可以绑定到模型,自动处理渲染和更新,这使得开发者可以专注于业务逻辑,而不是页面的呈现细节。 2. **无状态与有状态组件**:Wicket组件可以是有状态的(Stateful),这意味着它们会...
Wicket 是一个开源的、基于Java的Web应用程序框架,它以其组件化、模型-视图-控制器(MVC)架构和轻量级特性而受到开发者们的青睐。本指南将深入探讨Wicket的核心概念、工作原理以及如何有效地利用它来构建动态、...
2. 表格和列表:如何展示动态数据,如表格组件的使用和数据排序、分页。 3. 表单处理示例:包含验证、提交等完整流程的表单。 4. AJAX应用:使用Wicket的AJAX功能实现动态更新。 5. URL和导航实例:演示如何设置和...
Wicket是一款开源的Java Web应用程序框架,它强调组件化和模型-视图-控制器(MVC)的设计模式。这个“wicket简单实例”是为了帮助初学者理解Wicket的工作原理和基本操作,通过运行这些示例,你可以深入学习Wicket的...
Wicket的组件库非常丰富,包含大量预建的UI组件,同时也支持自定义组件开发,满足各种需求。此外,还可以通过插件和扩展来增强框架的功能。 8. **源码阅读** 作为开源项目,Wicket的源码对于开发者来说是一份宝贵...
Apache Wicket是一款开源的Java Web应用框架,它以组件为基础,提供了丰富的功能来帮助开发者创建动态、交互式的Web应用程序。 【描述】:“自用,在线转移资源,使用带mvn插件的eclipse直接导入即可。”这说明这个...
- **完整的Wicket继承体系**:展示了Wicket组件间的层次关系。 **4.4 Wicket事件驱动** - **事件驱动结构**:介绍了Wicket如何通过事件驱动来处理用户交互。 - **如何调用Listener**:解释了监听器在处理事件中的...
总结起来,"wicket-menu-6.5.0.zip"是一个展示Wicket框架构建菜单系统的实例,它涵盖了菜单组件的创建、数据绑定、动态更新以及用户交互等方面的知识,对于想要深入了解Wicket或者提高Web应用开发能力的开发者来说,...
- **组件化:** Wicket 强调组件的概念,将 Web 页面视为组件树,每个组件负责显示部分视图或处理用户交互。 - **HTML 和业务逻辑分离:** Wicket 允许开发者使用标准 HTML 来构建界面,而将复杂的业务逻辑封装在 ...
在 Wicket 开发中,常见的 Maven 插件包括 Wicket-Tester(用于单元测试 Wicket 组件)和 Wicket-Eclipse-Plugin(Eclipse IDE 的插件,提供代码提示和调试支持)。 6. **mvn_tmp 文件**: 这个文件名可能是临时文件...
Wicket是一款开源的Java Web应用程序框架,它强调了组件化和模型-视图-控制器(MVC)的设计模式。Wicket 1.4.0是该框架的一个版本,提供了丰富的功能和改进,使得Web开发更为简便。在本篇文章中,我们将深入探讨...
Wicket的入门知识包括了解其组件体系结构、如何创建和绑定组件、以及如何处理用户事件。开发者还需要理解Wicket的模型-视图-控制器(MVC)概念,虽然Wicket的实现方式略有不同,但它仍然遵循类似的模式。此外,学习...
Apache Wicket 是一个开源的Java Web应用程序框架,它以其组件化的模型、强大的状态管理和低级别的浏览器依赖性而受到开发者的欢迎。Wicket 相关书籍是深入理解和掌握这个框架的重要资源,下面将针对这些书籍提供的...
通过定义可重用的组件,Wicket允许开发者减少重复代码,提高代码的可维护性和可读性。 - **1.4.6 支持表单数据验证** Wicket提供了内置的表单验证功能,可以轻松地对用户输入进行校验。 - **1.4.7 Session类型...