import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.PropertyModel;
/**
*
* @author admin
*/
public class Test_DropDownChoice extends BasePage {
private Form form;
private static List SITES = new ArrayList();
private static Map NAMES = new HashMap();
private DropDownModel1 ddModel;
static{
SITES.add("http://www.sina.com.cn");
SITES.add("http://www.sohu.com");
SITES.add("http://www.163.com");
NAMES.put("http://www.sina.com.cn", "新浪"); //显示汉字
NAMES.put("http://www.sohu.com", "搜虎");
NAMES.put("http://www.163.com", "网易");
}
IChoiceRenderer renderer = new ChoiceRenderer() { //使用这个接口来显示上面的文字
public Object getDisplayValue(Object object) {
return NAMES.get(object);
}
};
public Test_DropDownChoice(){
super();
form = new Form("myForm");
this.add(form);
ddModel = new DropDownModel1();
DropDownChoice siteChoice = new DropDownChoice("sites",new PropertyModel(ddModel,"choList"),SITES,renderer);
form.add(siteChoice);
siteChoice.setRequired(true);
siteChoice.setNullValid(true);
siteChoice.setDefaultModelObject(ddModel.getChoList());
AjaxButton ajaxButton = new AjaxButton("ajaxButton") {
@Override
protected void onSubmit(AjaxRequestTarget art, Form<?> form) {
System.out.println(ddModel.getChoList());
}
@Override
protected void onError(AjaxRequestTarget art, Form<?> form) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
form.add(ajaxButton);
}
}
<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">
<select wicket:id="sites"></select>
<input type="submit" wicket:id="ajaxButton"/>
</form>
</body>
</html>
<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">
<select wicket:id="sites"></select>
<input type="submit" wicket:id="ajaxButton"/>
</form>
</body>
</html>
分享到:
相关推荐
本篇文章将详细介绍Wicket中常用的几种控件及其使用方法。 #### 二、基本概念 在深入探讨Wicket控件之前,我们需要了解几个基础概念: - **Model**:模型是Wicket框架的核心组成部分之一,用于存储控件的数据。它...
最后,Wicket的表单处理细节中涵盖了表单的基本概念,包括表单的定义、组件如DropDownChoice的使用、模型链、可分离模型等高级特性。Wicket模型的使用鼓励开发者使用模型而非直接操作数据,这样可以增加代码的可维护...
9. **wicket-guice.jar**:如果项目中使用了Google Guice作为依赖注入框架,这个jar包提供了与Guice的集成。 10. **wicket-spring.jar**:如果项目使用Spring框架,这个jar包提供了Wicket与Spring的集成,使得可以...
Wicket是一个开源的Java Web应用程序框架,它提供了一种组件化的开发方式,...通过阅读开发指南并亲手运行这些示例,你将能够深入理解Wicket的工作原理,熟练掌握其开发技巧,从而在实际项目中更高效地使用Wicket框架。
首先,Wicket允许开发者直接在页面上使用Unicode编码,这意味着你可以直接在HTML中使用中文字符,无需额外的编码转换。其次,Wicket支持i18n(国际化),你可以创建资源文件来管理不同语言的文本,包括中文。资源...
在我们的页面/面板中使用存根标记 6.8。如何仅渲染组件主体 6.9。用wicket隐藏装饰元素:enclosure标签 6.10。使用Border包围现有标记 6.11。摘要 7.组件生命周期 7.1。组件的生命周期阶段 7.2。组件生命周期的钩子...
- **HTML 和业务逻辑分离:** Wicket 允许开发者使用标准 HTML 来构建界面,而将复杂的业务逻辑封装在 Java 类中。 - **框架特点:** - **低学习曲线:** 相比其他框架,Wicket 提供了一个更直观的 API 和简洁的...
在本文中,我们将深入探讨Wicket框架中关于Tree组件的简单使用方法,这对于初学者来说是一份极好的学习资源。Wicket是一个强大的Java Web应用程序框架,它提供了丰富的组件库,其中包括用于显示层次结构数据的Tree...
本文将详细介绍如何在 Eclipse 中使用 Maven 创建一个 Wicket 项目,以及运行和调试的基本步骤。 #### 一、Wicket 入门概述 Apache Wicket 是一款开源的 Java Web 开发框架,它的设计目标是使 Java 开发者能够像...
使用这个版本,开发者可以了解和学习Wicket 6.x系列的特性和使用方法,同时也可以直接在项目中引用这些库文件进行开发。 总结来说,这个压缩包提供了一个使用Apache Maven构建的Apache Wicket项目,版本为6.16.0。...
1. **创建页面类**:在Wicket中,每个页面都有一个对应的Java类,类中定义了页面的组件和行为。 2. **绑定HTML模板**:页面类与HTML模板通过`@MountPath`注解或`WebPage`的构造函数关联。 3. **组件定义**:使用`add...
在 Wicket 开发中,常见的 Maven 插件包括 Wicket-Tester(用于单元测试 Wicket 组件)和 Wicket-Eclipse-Plugin(Eclipse IDE 的插件,提供代码提示和调试支持)。 6. **mvn_tmp 文件**: 这个文件名可能是临时文件...
这是一个常见的Web应用示例,它展示了如何使用Wicket创建一个留言簿。用户可以通过表单提交留言,而这些留言会存储在服务器端并显示在页面上。这涵盖了Wicket的表单处理和数据持久化概念。 6. **Wicket_include**...
开发Wicket应用可以使用Eclipse、IntelliJ IDEA等主流IDE,它们通常都有对应的Wicket插件,提供代码提示、调试等便利功能。 10. **学习资源** 如链接所示,ITEYE博客上有关于Wicket的教程,这是学习Wicket的一个...
在本文中,我们将深入探讨Wicket框架中的国际化(i18n)实现,以及如何使用`wicket:message`和`StringResourceModel`等工具来读取`.properties`资源文件。Wicket是一个流行的Java web应用程序框架,它提供了强大的...
2. **添加Wicket依赖**:在`pom.xml`(如果你使用Maven)或`build.gradle`(如果你使用Gradle)中添加Wicket 1.4的依赖。 **三、编写HelloWorld页面** 1. **创建页面类**:在`com.example.wicket`包下创建一个名为`...
1. **组件层次结构**:在Wicket中,页面由一组组件构成,组件之间可以嵌套形成树状结构。每个组件都有自己的标识ID,这使得在服务器端和客户端之间同步数据变得简单。 2. **组件生命周期**:Wicket组件有三个主要的...