此例子为wicket中在页面中点检索后,在本页面显示出检索结果所用到的控件:
import java.util.ArrayList;
import java.util.List;
import jp.co.infomart.foods.common.admin.page.BasePage;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
/**
*
* @author admin
*/
public class Test_ListView extends BasePage {
private Form form;
private static List books = new ArrayList();
WebMarkupContainer container;
public Test_ListView(){
super();
form = new Form("myForm");
this.add(form);
container = new WebMarkupContainer("listViewContainer");
container.setOutputMarkupId(true);
//
ListView listView = new ListView("books",books){
@Override
protected void populateItem(ListItem item) {
Test_ListViewModel book = (Test_ListViewModel)item.getModelObject();
item.add(new Label("id",Integer.toString(book.getId())));
item.add(new Label("title",book.getTitle()));
item.add(new Label("author",book.getAuthor()));
}
};
container.add(listView);
form.add(container);
AjaxButton ajaxButton = new AjaxButton("ajaxButton") {
@Override
protected void onSubmit(AjaxRequestTarget art, Form<?> form) {
init();
art.addComponent(container);
}
@Override
protected void onError(AjaxRequestTarget art, Form<?> form) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
form.add(ajaxButton);
}
public void init(){
books.clear();
for(int i=1;i<10;i++){
Test_ListViewModel book = new Test_ListViewModel();
book.setId(i);
book.setAuthor("author"+i);
book.setTitle("title"+i);
books.add(book);
}
}
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onUnload="fCloseWin()">
<form wicket:id="myForm">
<div wicket:id="listViewContainer">
<table width="240" border="1">
<tr>
<th>序号</th>
<th>书名</th>
<th>作者</th>
</tr>
<tr wicket:id="books">
<td wicket:id="id">id</td>
<td wicket:id="title">title</td>
<td wicket:id="author">author</td>
</tr>
</table>
</div>
<input type="submit" wicket:id="ajaxButton"/>
</form>
</body>
</html>
public class Test_ListViewModel {
private int id;
private String title;
private String author;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
分享到:
相关推荐
2. 表格和列表:如何展示动态数据,如表格组件的使用和数据排序、分页。 3. 表单处理示例:包含验证、提交等完整流程的表单。 4. AJAX应用:使用Wicket的AJAX功能实现动态更新。 5. URL和导航实例:演示如何设置和...
本文通过一个具体的级联选择框示例,详细介绍了如何在Wicket框架中使用Ajax技术实现前端数据的动态加载。这种方法不仅提高了用户的交互体验,还增强了应用程序的响应性。开发者可以根据实际需求进一步扩展这种模式,...
24.使用Wicket和Spring测试驱动开发 24.1。配置运行时环境 24.2。配置基于JUnit的集成测试环境 24.3。摘要 25. Wicket最佳实践 25.1。正确封装组件 25.2。将模型和页面数据放在字段中 25.3。正确命名Wicket ID 25.4...
3. **组件定义**:使用`add()`方法在页面类中添加组件,如`Label`、`Form`、`Button`等。 4. **事件处理**:通过`onEvent()`方法或在组件上定义`AjaxBehavior`来处理用户交互事件。 5. **数据绑定**:Wicket 提供了...
此外,Wicket支持AJAX(Asynchronous JavaScript and XML),允许在不刷新整个页面的情况下更新部分UI,提供了丰富的Ajax行为和组件,如AjaxButton、AjaxLink等,以实现更流畅的用户体验。 总的来说,"Wicket文档和...
然而,Wicket通过其独特的组件化设计和易于使用的特性,在众多框架中脱颖而出。 **1.3 Wicket与其他Web框架的比较** - **Struts概述**:Struts是最早的MVC框架之一,强调配置文件的使用,而Wicket则更注重代码本身...
例如,你可以研究Wicket如何处理页面状态管理、Ajax请求、国际化和本地化、以及组件生命周期等。源码阅读有助于提升开发者对框架的掌握程度,使其能够编写出更高效、更符合需求的代码。 此外,虽然这个压缩包不包含...
通过这些实例,你可以学习到Wicket的基本组件用法、数据绑定、表单处理、页面导航以及组件的组合和重用。每个示例都是一个独立的单元,同时也构成了一整个Wicket应用的组成部分。对于初学者来说,这是一个很好的起点...
首先,教程介绍了Wicket的基本概念,包括它的分布和模块、应用程序的配置、首页类的编写以及Wicket链接的使用。Wicket将页面定义为组件树,组件是构建Web页面的基础。组件可以是表单、链接、按钮等界面元素,也可以...
在Wicket 1.4.7版本中,包含了一系列的jar包,这些jar包是构建和运行基于Wicket的应用程序所必需的。下面将详细解释这些jar包的作用和它们在Wicket框架中的重要性。 1. **wicket.jar**:这是Wicket的核心库,包含了...
- **HTML 和业务逻辑分离:** Wicket 允许开发者使用标准 HTML 来构建界面,而将复杂的业务逻辑封装在 Java 类中。 - **框架特点:** - **低学习曲线:** 相比其他框架,Wicket 提供了一个更直观的 API 和简洁的...
在本篇文章中,我们将深入探讨Wicket 1.4.0的核心特性以及如何使用它来构建Web应用。 **Wicket 1.4.0 特性** 1. **组件模型**:Wicket的核心是组件模型,每个HTML元素都可以映射为一个Java对象,这使得开发者可以...
通过这些示例,初学者可以了解到如何在Wicket中有效地使用Tree组件,包括构建数据模型、创建TreeNode、实现Ajax交互以及优化性能。学习这些内容有助于开发出更加直观和用户友好的Web应用,特别是在展示和操作层次...
### Wicket文档知识点详解 #### 1. Wicket简介 **1.1 Wicket前生后世篇** Wicket是一款开源的Java...以上是对给定文档中的主要知识点进行了详细解析,涵盖了Wicket的基本概念、特点、配置方法以及常见控件的使用等。
Ajax-jaulp-wicket.zip,这个项目是ApacheWicket组件和实用程序的集合。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不...
可能还会深入讲解如何使用Wicket的Ajax功能,以及如何创建自定义组件和扩展库。 文件"8gxrz9328er1.pdf"可能是《Wicket开发指南》的电子版,其中详细阐述了Wicket框架的各个方面,包括最佳实践、示例代码和常见问题...
### Wicket开发指南核心知识点概览 #### 一、Wicket简介 **1.1 Wicket的历史与发展** ...以上内容概述了Wicket开发指南中的关键知识点,希望能帮助读者更好地理解和掌握Wicket框架的核心概念和技术细节。