Ryan's Java world!

something about Java and opensource!

BlogJava 首页 新随笔 联系 聚合 管理
  51 Posts :: 25 Stories :: 59 Comments :: 0 Trackbacks
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>


截图:


posted on 2006-08-09 09:34 冰雨 阅读(1968) 评论(0)  编辑  收藏 所属分类: Opensource

只有注册用户登录后才能发表评论。


网站导航:
 

JSF中文技术文摘