[[Spring-MVC/ステップ・バイ・ステップ]]

2008/04/09からのアクセス回数 &counter;

** Spring-MVCの規約 [#y6b6dbdb]
Convention over configurationは、日本語では「規約は設定に勝る」と訳されていますが、
設定に適切なデフォルト値を用意することによって、デフォルト値に沿った規約を守ることで
面倒な設定が不要になるということです。

また、Configurationには、配置という意味もありディレクトリ構成やファイルの場所を規約
で定めることにより、適切なデフォルト値を用意することができることと重ね合わせている
ように思えます。

Spring MVCでは、Model View Controllerにデフォルトの規約を用意しています。

** Controllerのクラスマッピング [#b6035539]
HTTPのURLで指定された要求を規約に従って振り分けているのが、ControllerClassNameHandlerMapping
クラスです。

MultiActionController以外のContollerクラスのサブクラスは、クラス名からControllerを除いた
名前でがHandlerMappingに登録されます。

例)WelcomeControllerなら/welcome*にマッピングされ、URLでは/welcomeを指定します。

MultiActionControllerの場合には、クラス名からControllerを除いた名前の後に/を入れ、その後にメソッド名
を指定します。

例)AdminControllerのloginメソッドの場合/admin/*にマッピングされ、URLでは/admin/loginを指定します。

** Modelのマッピング [#z178c8c8]
ModelAndViewクラスは、ModelMapクラスを使って自動的に生成されたkeyでオブジェクトを登録します。

- オブジェクトが単一のオブジェクトの場合
例)x.y.Userのインスタンスが追加された場合、userがキーとなります。

- ハッシュマップの場合
例)java.util.HashMapの場合、hashMapがキーとなります。

- 配列の場合
例)x.y.Userの配列が追加された場合、userListがキーとなります。

- ArrayListが追加された場合
例) x.y.User要素のjava.util.ArrayListが追加された場合、userListがキーとなります。

- HashSetが追加された場合
例)x.y.Foo要素のjava.util.HashSetが追加された場合、fooListがキーになります。

''注意:空の配列、リスト、セットは登録されません。''


#contents

** コメント [#q137dcef]
この記事は、

#vote(おもしろかった,そうでもない,わかりずらい)

皆様のご意見、ご希望をお待ちしております。

#comment

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc