`
icess
  • 浏览: 253417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Wicket 教程4:如何使用Form 和form组件

阅读更多
Form大概是动态web中使用最多的吧,在wicket中提供了灵活的form处理和呈现. 可以实现强大的功能,同时使用起来也是很简单的. 看几个示例就知道如何使用了, 下面是一个基本form的示例:
代码下载: http://bbs.hexiao.cn/read.php?fid=9&tid=16&fpage=1
所需库文件下载: http://bbs.hexiao.cn/read.php?fid=9&tid=12&fpage=1
java code:
// Add a FeedbackPanel for displaying our messages
           FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
           add(feedbackPanel);

           // Add a form with an onSubmit implementation that sets a message
           add(new Form("form") {
                 protected void onSubmit() {
                       info("the form was submitted!");
                 }
           });

           // 测试button form
           Form buttonForm = new Form("buttonForm") {
                 protected void onSubmit() {
                       info("点击了buttonForm.");
                 }
           };

           Button button1 = new Button("button1") {
                 protected void onSubmit() {
                       info("button1.onSubmit 被点击了");
                 }
           };
           buttonForm.add(button1);

           Button button2 = new Button("button2") {
                 protected void onSubmit() {
                       info("button2.onSubmit 被点击了");
                 }
           };
           button2.setDefaultFormProcessing(false);
           buttonForm.add(button2);

           add(buttonForm);
           // 测试 Submit link in form
           Form submitForm = new Form("submitForm") {
                 protected void onSubmit() {
                       info("Form onsubmit");
                 }
           };
           add(submitForm);
           SubmitLink internal = new SubmitLink("internal") {
                 protected void onSubmit() {
                       info("internal onsubmit");
                 };
           };
           submitForm.add(internal);

           SubmitLink external = new SubmitLink("external", submitForm) {
                 protected void onSubmit() {
                       info("external onsubmit");
                 };
           };
           add(external);

           // 测试TextField And TextArea
           final Input input = new Input();
           Form textForm = new Form("textForm", new CompoundPropertyModel(input)) {
                 protected void onSubmit() {
                       info("input :" + input);
                       if (input.bool.booleanValue()) {
                             info("Ok, ok... we'll check it");
                       } else {
                             info("So you don't want it checked huh?");
                       }
                 }
           };
           add(textForm);
           textForm.add(new TextField("textField"));
           textForm.add(new TextField("integer", Integer.class));
           textForm.add(new TextArea("textArea"));
           textForm.add(new CheckBox("bool"));

Html code:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Wicket Examples - component reference</title>
  <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<wicket:link><a href="CheckAndRadio.html">[go to the CheckAndRadio]</a></wicket:link>
<h2> Feed back info </h2>
      <span wicket:id="feedback">feedbackmessages will be put here</span>
     <h1>wicket.markup.html.form.Form</h1>

     <p>
     A Form is a component that has special interaction with nested form components.
     Form components are components that extend from wicket.markup.html.form.FormComponent,
     and which are called controls in the HTML specification. Examples of such controls
     are textfields, checkboxes and radio buttons.
     Users generally "complete" a form by modifying its controls (entering text,
     selecting menu items, etc.), before submitting the form usually by clicking on
     a submit button. On a form submit, the form normally goes through a processing cycle of
     validation, model updating of the nested controls, possibly persisting (with cookies)
     the model values of the controls and calling the form's onSubmit method.
     </p>
     <p>
     This example shows you the basic Form itself. It has no nested controls, but it does
     have an implementation of onSubmit, which sets a feedback message, and it works together
     with a feeback panel (a panel that lists any feedback messages that were set).
     </p>
     <p>
      <form wicket:id="form">
      <input type="submit" value="click me to submit the form and display a message" />
      </form>
     
      <h1> button form </h1>
      <form wicket:id="buttonForm">
           <input type="submit" value="non wicket submit button"/>
           <input wicket:id="button1" type="submit" value="default wicket button" />
           <input wicket:id="button2" type="submit" value="wicket button with immediate == true" />
      </form>
     
      <h1> Submit Link Form</h1>
      <form wicket:id="submitForm">
      <a wicket:id="internal">Internal SubmitLink</a>
      </form>
      <a wicket:id="external">External SubmitLink</a>
     </p>
     <h1>TextArea and TextField form</h1>
     <form wicket:id="textForm">

           <table style="border: 2px dotted #fc0; width: 300px; padding: 5px;">
            <tr>
            <td>some plain text</td>
            <td><input type="text" wicket:id="textField" /></td>
            </tr>
            <tr>
            <td>an integer value</td>
            <td><input type="text" wicket:id="integer" /></td>
            </tr>
            <tr>
            <td>text Area</td>
            <td><textarea wicket:id="textArea" rows="2" cols="15">Input comes here</textarea></td>
            </tr>
            <tr>
            <td valign="top">I want it checked!</td>
            <td>
            <input type="checkbox" wicket:id="bool" />
            </td>
            </tr>
            <tr>
            <td colspan="2" align="center">
              <input type="submit" value="submit" />
            </td>
            </tr>
           </table>

      </form>
     
     
</body>
</html>


截图:


分享到:
评论

相关推荐

    wicket指南

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

    wicket 官方JAVA教程

    页面开始,理解组件的使用和页面的结构。 - **表单处理(Form Handling)**: Wicket提供了强大的表单组件和处理机制,可以轻松实现数据验证和提交。 - **国际化(Internationalization, i18n)**: 支持多语言,...

    wicket简单实例

    Wicket是一款开源的Java Web应用程序框架,它强调组件化和模型-视图-控制器(MVC)的设计模式。这个“wicket简单实例”是为了帮助初学者理解Wicket的工作原理和基本操作,通过运行这些示例,你可以深入学习Wicket的...

    Wicket.pdf(Wicket开发指南)

    - **与 Struts 比较:** Wicket 更加注重组件化和 MVC 的分离,提供更好的代码组织结构;而 Struts 更侧重于表单处理和数据验证。 - **与 Tapestry 比较:** 两者都强调组件化开发,但 Wicket 在性能优化方面做得...

    Wicket开发指南

    相较于Struts,Wicket提供了更丰富的组件库和支持,使得开发者可以更加专注于业务逻辑而非框架细节。 - **Tapestry**:它也是一个组件驱动的框架,但在灵活性方面不如Wicket。Wicket在组件复用、数据绑定等方面具有...

    wicket-presentation:Apache Wicket演示文稿的源代码-apache source code

    Wicket的核心理念是组件驱动,这意味着网页被分解为可重用、可管理的组件,每个组件都有自己的状态和生命周期。在"Apache Wicket演示文稿的源代码"中,我们可以深入理解这一框架的内部工作原理。 标题中的“wicket-...

    wicket开发指南

    - 官方文档:提供详细的API参考和教程。 - 用户论坛:讨论问题,分享经验,获取社区支持。 - 第三方库:许多社区贡献的组件库扩展了Wicket的功能。 阅读《Wicket开发指南》PDF,你将逐步了解如何搭建Wicket环境,...

    wicket常用控件使用方法

    ### Wicket常用控件使用方法详解 #### 一、引言 Wicket是一个灵活而强大的Java Web框架,它提供了一套简洁高效的API用于构建复杂的Web应用程序。与.NET平台的开发方式相似,Wicket允许开发者在HTML页面中声明控件,...

    wicket开发指南 pdf

    在Wicket中,表单组件(如Form、TextField等)可以很容易地与模型数据绑定,处理用户输入。Wicket会自动处理回发数据的验证和提交,极大地简化了表单处理逻辑。 **六、国际化与本地化** Wicket 提供了强大的国际化...

    Wicket开发指南-简体版

    - **ImageButton**:使用图像作为按钮。 - **SubmitLink**:链接形式的提交按钮。 以上内容概述了Wicket开发指南中的关键知识点,希望能帮助读者更好地理解和掌握Wicket框架的核心概念和技术细节。

    Wicket中文开发指南

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

    wicket学习

    2. **Form组件**:表单组件是Wicket中最常用的组件之一,用于收集用户输入的数据。 - **添加组件**:可以将多个组件添加到一个表单中,例如: ```java Form&lt;ClinicItem&gt; form = new Form("form"); add(new ...

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

    其中`wicket:id`属性用于标识Wicket组件。 ##### Java代码实现 接下来是Java端的实现部分。这部分代码定义了页面的主要逻辑,并且包含了处理Ajax请求的代码。 ```java package com.steelma.wicket; import java....

    wicket 开发指南

    - 与 Wicket 一样,提供了事件驱动和组件化的编程模型。 - **Wicket**: - 基于组件的 Java Web 框架。 - 采用类似于 ASP.NET 的开发模式。 - 支持 HTML 与 Java 代码的分离。 - 提供了较为丰富的组件库和支持 ...

    Wicket 开发指南

    - **模型-视图-控制器(MVC)模式**: 虽然Wicket不强制使用MVC,但它的设计哲学与MVC模式类似,组件可以绑定到数据模型,视图和控制逻辑自然地分离。 **2. Wicket 架构** - **容器**: Wicket 应用程序由一系列容器...

    wicket文档

    通过定义可重用的组件,Wicket允许开发者减少重复代码,提高代码的可维护性和可读性。 - **1.4.6 支持表单数据验证** Wicket提供了内置的表单验证功能,可以轻松地对用户输入进行校验。 - **1.4.7 Session类型...

Global site tag (gtag.js) - Google Analytics