前一阵子,介绍了wicket的一些官方的例子,实际开发中发现有些不太实用,例子过于简单了,考虑到目前我们团队中好多人都不熟悉这个框架(我也是刚刚接触),网上开发者寥寥无几,国内新一点的参考草料基本没有看到,为了写一个页面动不动上百行千行代码,而且极其复杂,思前考后,觉得应该是我们用错了,所以先单独对感觉几个复杂也是常用的组件下拉框、单选按钮进行单独研究,经过约两天的反复推敲,终于喜得成果,话不多说,如下:
1.测试、运行环境:idea+maven+tomcat7
2.相关版本:wicket7.6.0,jdk7
本章省去wicket安装运行环节,具体可参照本人文章:http://pandahuha.iteye.com/admin/blogs/2353293
运行环境搞定后:
首先构建登录用户,
public class User implements IClusterable {
private int id; private String loginName; private String nickname; private int logins;
set/get省略
构建页面类,命名LoginPage,
public class LoginPage extends WebPage {
private static final long serialVersionUID = -445927799394341911L;
new 两个list,下拉框、单选按钮会用到
private static final List SITES = Arrays.asList(new String[]{"T", "J", "JN"}); private static final List INTEGERS = Arrays.asList(new Integer[]{1, 2, 3});
页面类构造
public LoginPage(final PageParameters parameters) { super(parameters); User user = new User(); user.setNickname("J"); user.setLogins(2); add(new LoginForm("loginForm", new CompoundPropertyModel<User>(user))); } user设置完相应属性后,RadioChoice、DropDownChoice会默认选中
构建内部类表单
class LoginForm extends Form<User> {
表单构造
public LoginForm(String id, IModel<User> model) { super(id, model);
表单内部添加反馈面板
final FeedbackPanel fp = new FeedbackPanel("feedback"); fp.setOutputMarkupId(true); add(fp); 用于反馈表单验证后的信息
添加登录框架、密码框
add(new TextField("loginName")); add(new PasswordTextField("pwd")); 这里简单添加一下两个框框
添加下拉框
add(new DropDownChoice("nickname", SITES, new ChoiceRenderer<String>() { @Override public Object getDisplayValue(String value) { switch (value) { case "T": return super.getDisplayValue("The Server Side"); case "J": return "Java Lobby"; case "JN": return "Java.Net"; default: throw new IllegalStateException(value + " is not mapped!"); } } })); 重点在这里
添加单选按钮
add(new RadioChoice("logins", INTEGERS, new ChoiceRenderer<Integer>() { @Override public Object getDisplayValue(Integer value) { switch (value) { case 1: return "One"; case 2: return "Two"; case 3: return "Three"; default: throw new IllegalStateException(value + " is not mapped!"); } } }));
添加表单提交按钮
add(new AjaxButton("submit") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { super.onSubmit(target, form); Object o = form.getModelObject(); if (o instanceof User) { User user = (User) form.getModelObject(); error("it is success!" + "Logins=" + user.getLogins() + "Nickname=" + user.getNickname()); } else error("it is error"); onError(target, form); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); target.add(fp); } }); 异步提交表单时候,一定要重写onError方法
好,设置默认欢迎页面就是LoginPage,效果如下
欢迎wicket,java探讨
相关推荐
- **DropDownChoice:** 下拉列表。 - **ListBox:** 列表选择框。 - **SubmitLink:** 提交按钮。 #### 五、部署 Wicket 应用程序 - **部署 Wicket 1.2 程序:** - 针对 Wicket 1.2 版本的应用程序,部署过程...
最后,Wicket的表单处理细节中涵盖了表单的基本概念,包括表单的定义、组件如DropDownChoice的使用、模型链、可分离模型等高级特性。Wicket模型的使用鼓励开发者使用模型而非直接操作数据,这样可以增加代码的可维护...
**Wicket 指南** **一、Wicket 框架概述** Wicket 是一个开源的、基于组件的 Java Web 开发框架,它提供了一种简单而强大的方式来构建动态、交互性强的Web 应用程序。Wicket 的设计哲学是将Web 页面的视图与业务...
**Wicket Maven 库详解** Wicket Maven 库是一个针对 Apache Wicket 框架的 Maven 存储库,它包含了构建和运行 Wicket 应用程序所需的各种依赖项。Apache Wicket 是一个用于创建 Web 应用程序的开源 Java 框架,它...
【标题】:“apacke-wicket-mvn编译”指的是使用Apache Maven构建工具来编译一个基于Apache Wicket的项目。Apache Wicket是一款开源的Java Web应用框架,它以组件为基础,提供了丰富的功能来帮助开发者创建动态、...
首先,"Apache Wicket Cookbook" 是一本实用指南,旨在帮助开发者快速解决在使用 Wicket 进行Web开发时遇到的具体问题。这本书通常会涵盖如何创建和定制组件、处理用户交互、实现数据持久化以及优化性能等多个方面。...
**Wicket 开发指南** Wicket 是一个开源的、基于Java的Web应用程序框架,它以其组件化、模型-视图-控制器(MVC)架构和轻量级特性而受到开发者们的青睐。本指南将深入探讨Wicket的核心概念、工作原理以及如何有效地...
4. **wicket-util.jar**:包含了一些通用的工具类和实用程序,如XML解析、字符串操作、缓存管理等,方便开发者进行日常的编程工作。 5. **wicket-ioc.jar**:提供了依赖注入(Dependency Injection, DI)的功能,...
**Wicket官方JAVA教程** Wicket是一款开源的Java Web应用程序框架,它强调组件化和声明式编程模型,使得开发人员可以构建出用户界面更加灵活且易于维护的Web应用。本教程将深入探讨Wicket的核心概念、特性以及如何...
import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; ...
### Wicket 入门与 Eclipse 项目创建指南 在当今的 Web 开发领域,Java 框架扮演着举足轻重的角色,其中 Apache Wicket 是一个强大的、面向组件的 Java Web 应用框架,它简化了 Web 应用的开发过程。本文将详细介绍...
**Wicket简单实例详解** Wicket是一款开源的Java Web应用程序框架,它强调组件化和模型-视图-控制器(MVC)的设计模式。这个“wicket简单实例”是为了帮助初学者理解Wicket的工作原理和基本操作,通过运行这些示例...
在本文中,我们将深入探讨Wicket框架中的国际化(i18n)实现,以及如何使用`wicket:message`和`StringResourceModel`等工具来读取`.properties`资源文件。Wicket是一个流行的Java web应用程序框架,它提供了强大的...
**Wicket HelloWorld程序详解** Wicket是一个开源的Java Web应用程序框架,它强调组件化和模型-视图-控制器(MVC)的设计模式。这个“Wicket的HelloWorld”程序是初学者入门Wicket的典型例子,它展示了如何利用...
组件DropDownChoice 11.6。模型链 11.7。可拆卸型号 11.8。在组件中使用多个模型 11.9。使用型号! 11.10。摘要 12. Wicket详细说明 12.1。默认表单处理 12.2。表单验证和反馈消息 12.3。输入值转换 12.4。使用JSR ...
Wicket 是一个开源的Java Web框架,用于构建可重用且易于维护的Web应用程序。它以其组件模型和数据绑定机制而闻名,与Struts等传统MVC框架相比,提供了更直观和面向对象的编程方式。 在Wicket基础知识培训中,首先...
Wicket是一个开源的Java Web应用程序框架,它提供了一种组件化的开发方式,使得Web应用的构建更为简单和直观。这个压缩包包含了一个Wicket的开发指南PDF文档以及一些示例项目,这些都是学习和掌握Wicket框架的重要...
### Wicket开发指南核心知识点概览 #### 一、Wicket简介 **1.1 Wicket的历史与发展** Wicket是一个开源的Java Web应用框架,它借鉴了ASP.NET的设计理念,但又具有自己的特色。该框架的目标是提高开发效率并简化...