wicket 初识form 表单1

下面实现一个简单的表单提交,input 信息在message标签中显示的功能:

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form wicket:id="form">
<input type='text' wicket:id="input"/><br/>
<input type="submit" wicket:id="submit" value="提交"/>

</form>

<!--表单提交后用于显示text内容-->
<lable wicket:id="message"></lable>
</body>
</html>

java代码:

package com.wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.Model;

public class FormPage extends WebPage {
    public FormPage() {
        final Label message=new Label("message","");
        add(message);
        Form form=new Form("form");
        add(form);
        /*注意这里一定要加个model,不然会报:
        java.lang.IllegalStateException: Attempt to set model object on null model of component: form:input
        异常
        */
        final TextField<String> input=new TextField("input",new Model(""));
       
        form.add(input);
        form.add(new Button("submit"){
           
            @Override
            public void onSubmit() {
                super.onSubmit();

              //获取input 数据
                String value = input.getModelObject();

               //message 标签显示数据
                message.setDefaultModelObject(value);

                  //input 标签清空
                input.setDefaultModelObject("");
            }
           
        });
       
    }

}

猜你喜欢

转载自fftiger.iteye.com/blog/2230091
今日推荐