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

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

Wicket(15)wickt-exmamplesを解析する(abacadabra)(4)

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

引き続き「abacadabra」exampleです。
今回は2つ目のステップである「UserDetailsStep」を見ていきます。

◆画面
f:id:UnderSourceCode:20130504112434j:plain

まずは画面です。3つのテキストボックスと、1つのチェックボックスがあります。
この画面の.htmlファイルが、以下のものです。

◆UserDetailStep.html
f:id:UnderSourceCode:20130504112455j:plain

3つのテキストボックスと、1つのチェックボックスを定義し、それぞれに「wicket:id」を付与しています。
次にこの.htmlファイルに対応する.javaファイルです。

◆UserDetailStep(NewUserWizard.java)
f:id:UnderSourceCode:20130504112505j:plain

コンストラクタで今回のステップの定義をしています。
titleの定義は前回と同じ「ResourceModel」を使用していますが、Summaryには「StringResourceModel」を
使用しています。

この「StringResourceModel」を使うと、.propertyファイルに定義した値に、パラメータとして渡すモデルの値を
組み込んだ値が画面に表示されます。

一番上の画面の「'aaa'」がUserモデルから取得した値で
「Provide the details of new user 」が.propertyファイルに定義されている値となります。
.propertyファイルの定義を見てみると・・・

◆NewUserWizard.properties
f:id:UnderSourceCode:20130504112521j:plain

「'${userName}'」の部分が、パラメータとして渡されるモデルの「userName」プロパティを
参照していることがわかります。

再び「UserDetailStep」のコンストラクタを見ると
UserDetailStep.htmlファイル内にある「wicket:id」に該当するテキストボックス、チェックボックス
追加しています。