CompoundPropertyModel


「ともくんコードのお話」 プログラミングお勉強きろく id:syoko_sasaki
http://d.hatena.ne.jp/syoko_sasaki/20090630/1246330391


コンポーネントIDとプロパティ式は一緒にするのが一般的らしいです。
>一緒にするとなると同じ名前を2回書くことになるので、CompoundPropertyModelを使うとすっきりします


やってみたらすごくすっきりしました!
HomePage.java

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.model.CompoundPropertyModel;

/**
 * Homepage
 */
public class HomePage extends WebPage {

	private static final long serialVersionUID = 1L;

	/**
	 * Constructor that is invoked when page is invoked without a session.
	 * 
	 * @param parameters
	 *            Page parameters
	 */

	public HomePage(final PageParameters parameters) {
		PostingData data = new PostingData();
		Form<PostingData> inputForm = new Form<PostingData>("inputForm",
				new CompoundPropertyModel<PostingData>(data));

		TextField<String> inputId = new TextField<String>("userId");
		PasswordTextField inputPw = new PasswordTextField("password");
		TextArea<String> inputSb = new TextArea<String>("subject");
		SubmitButton confirmButton = new SubmitButton("confirmButton", data);

		inputForm.add(inputId, inputPw, inputSb, confirmButton);
		this.add(inputForm);

	}

}