ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

Wicket(14)wickt-exmamplesを解析する(abacadabra)(3)

Wicket (9)wicket-examplesをTomcatに導入してみるEclipseに取り込んだ
Wicketのサンプル「wicket-examples」を解析してみます。

引き続き「abacadabra」exampleです。
今回はウィザード全体の共通の定義と、最初のステップである「UserNameStep」を見ていきます。

1.NewUserWizard.java
f:id:UnderSourceCode:20130504112551j:plain

ウィザード全体で共通の「Cancel」ボタン、「Finish」ボタンを押下したときの動きを
定義しています。
両方のボタンとも押下時には最初の画面である「Index.java」に遷移するようです。


2.UserNameStep(UserNameWizard.java)
f:id:UnderSourceCode:20130504112602j:plain

まずは画面です。「Username」「Email address」を入力する画面です。
この画面のJavaプログラムは以下を参照してください。

f:id:UnderSourceCode:20130504112613j:plain

前回見た「NewUserWizard」クラスのコンストラクタで追加していた「UserNameStep」クラスです。
一行目で、このステップのtitle、summeryを定義しています。

title、summeryともResourceModel型で渡しており、実際に画面に表示する値は以下の.propertyファイルに
定義してあるところに注意です。

f:id:UnderSourceCode:20130504112625j:plain

次にテキストボックスを追加しています。
これらのテキストボックスは、以下の「NewUserWizard$UserNameStep.html」に記述してある
2つのwicket:idに関連づけられます。(wicket:id="user.userName"、wicket:id="user.email" の記述)

f:id:UnderSourceCode:20130504112637j:plain

ふたたび「UserNameStep」クラスを見ると
「Email address」テキストボックスには入力値がemailであるかを判定する「EmailAddressValidator」を
追加しています。
これを追加しておくと、自動的に入力値がemailかどうかを判定してくれるようです。