`

wicket 中ListView和WebMarkupContainer以及AjaxButton的使用

阅读更多
此例子为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;
    }
   
   
}
分享到:
评论

相关推荐

    wicket例子和开发指南

    2. 表格和列表:如何展示动态数据,如表格组件的使用和数据排序、分页。 3. 表单处理示例:包含验证、提交等完整流程的表单。 4. AJAX应用:使用Wicket的AJAX功能实现动态更新。 5. URL和导航实例:演示如何设置和...

    wicket的ajax范例(级联选择框)

    本文通过一个具体的级联选择框示例,详细介绍了如何在Wicket框架中使用Ajax技术实现前端数据的动态加载。这种方法不仅提高了用户的交互体验,还增强了应用程序的响应性。开发者可以根据实际需求进一步扩展这种模式,...

    Wicket 8.X开发文档(中文翻译+英文原版)

    24.使用Wicket和Spring测试驱动开发 24.1。配置运行时环境 24.2。配置基于JUnit的集成测试环境 24.3。摘要 25. Wicket最佳实践 25.1。正确封装组件 25.2。将模型和页面数据放在字段中 25.3。正确命名Wicket ID 25.4...

    wicket指南

    3. **组件定义**:使用`add()`方法在页面类中添加组件,如`Label`、`Form`、`Button`等。 4. **事件处理**:通过`onEvent()`方法或在组件上定义`AjaxBehavior`来处理用户交互事件。 5. **数据绑定**:Wicket 提供了...

    wicket文档和源码

    此外,Wicket支持AJAX(Asynchronous JavaScript and XML),允许在不刷新整个页面的情况下更新部分UI,提供了丰富的Ajax行为和组件,如AjaxButton、AjaxLink等,以实现更流畅的用户体验。 总的来说,"Wicket文档和...

    Wicket中文开发指南

    然而,Wicket通过其独特的组件化设计和易于使用的特性,在众多框架中脱颖而出。 **1.3 Wicket与其他Web框架的比较** - **Struts概述**:Struts是最早的MVC框架之一,强调配置文件的使用,而Wicket则更注重代码本身...

    wicket1,4.17中除了jar包和example外的部分

    例如,你可以研究Wicket如何处理页面状态管理、Ajax请求、国际化和本地化、以及组件生命周期等。源码阅读有助于提升开发者对框架的掌握程度,使其能够编写出更高效、更符合需求的代码。 此外,虽然这个压缩包不包含...

    wicket简单实例

    通过这些实例,你可以学习到Wicket的基本组件用法、数据绑定、表单处理、页面导航以及组件的组合和重用。每个示例都是一个独立的单元,同时也构成了一整个Wicket应用的组成部分。对于初学者来说,这是一个很好的起点...

    wicket7教程

    首先,教程介绍了Wicket的基本概念,包括它的分布和模块、应用程序的配置、首页类的编写以及Wicket链接的使用。Wicket将页面定义为组件树,组件是构建Web页面的基础。组件可以是表单、链接、按钮等界面元素,也可以...

    wicket1.4.7中的jar包

    在Wicket 1.4.7版本中,包含了一系列的jar包,这些jar包是构建和运行基于Wicket的应用程序所必需的。下面将详细解释这些jar包的作用和它们在Wicket框架中的重要性。 1. **wicket.jar**:这是Wicket的核心库,包含了...

    Wicket.pdf(Wicket开发指南)

    - **HTML 和业务逻辑分离:** Wicket 允许开发者使用标准 HTML 来构建界面,而将复杂的业务逻辑封装在 Java 类中。 - **框架特点:** - **低学习曲线:** 相比其他框架,Wicket 提供了一个更直观的 API 和简洁的...

    Wicket1.40.war包+开发指南.rar

    在本篇文章中,我们将深入探讨Wicket 1.4.0的核心特性以及如何使用它来构建Web应用。 **Wicket 1.4.0 特性** 1. **组件模型**:Wicket的核心是组件模型,每个HTML元素都可以映射为一个Java对象,这使得开发者可以...

    wicket的tree的简单实例

    通过这些示例,初学者可以了解到如何在Wicket中有效地使用Tree组件,包括构建数据模型、创建TreeNode、实现Ajax交互以及优化性能。学习这些内容有助于开发出更加直观和用户友好的Web应用,特别是在展示和操作层次...

    wicket文档

    ### Wicket文档知识点详解 #### 1. Wicket简介 **1.1 Wicket前生后世篇** Wicket是一款开源的Java...以上是对给定文档中的主要知识点进行了详细解析,涵盖了Wicket的基本概念、特点、配置方法以及常见控件的使用等。

    Ajax-jaulp-wicket.zip

    Ajax-jaulp-wicket.zip,这个项目是ApacheWicket组件和实用程序的集合。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不...

    Wicket开发指南

    可能还会深入讲解如何使用Wicket的Ajax功能,以及如何创建自定义组件和扩展库。 文件"8gxrz9328er1.pdf"可能是《Wicket开发指南》的电子版,其中详细阐述了Wicket框架的各个方面,包括最佳实践、示例代码和常见问题...

    Wicket开发指南-简体版

    ### Wicket开发指南核心知识点概览 #### 一、Wicket简介 **1.1 Wicket的历史与发展** ...以上内容概述了Wicket开发指南中的关键知识点,希望能帮助读者更好地理解和掌握Wicket框架的核心概念和技术细节。

Global site tag (gtag.js) - Google Analytics