編集部 All About
Javaプログラミング関連情報
更新日:2008年06月01日
後編では、Wicketに用意されているコンポーネントを組み合わせてフォームをデザインしましょう。
package jp.allabout;
import java.io.Serializable;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.*;
import org.apache.wicket.model.PropertyModel;
public class Page1 extends WebPage {
private FormModelBean bean;
public Page1() {
bean = new FormModelBean("テキストを入力してください。","");
PropertyModel messageModel = new PropertyModel(bean, "msgStr");
PropertyModel inputModel = new PropertyModel(bean, "inputStr");
Form form = new Form("form");
Label label = new Label("message", messageModel);
this.add(label);
TextField field = new TextField("field",inputModel);
form.add(field);
FormButton button = new FormButton(this,"button");
form.add(button);
this.add(form);
}
public FormModelBean getBean() {
return bean;
}
public void setBean(FormModelBean bean) {
this.bean = bean;
}
}
class FormModelBean implements Serializable {
private String msgStr;
private String inputStr;
FormModelBean(String msg,String input){
this.msgStr = msg;
this.inputStr = input;
}
public String getMsgStr() {
return msgStr;
}
public void setMsgStr(String msgStr) {
this.msgStr = msgStr;
}
public String getInputStr() {
return inputStr;
}
public void setInputStr(String inputStr) {
this.inputStr = inputStr;
}
}
class FormButton extends Button {
private static final long serialVersionUID = 1L;
private Page1 page;
public FormButton(Page1 page, String s){
super(s);
this.page = page;
}
public void onSubmit() {
String result = "あなたは「" + page.getBean().getInputStr() +
"」と書きました。";
page.getBean().setMsgStr(result);
}
}
(執筆者:掌田 津耶乃)
この記事の担当ガイド

編集部 All About