SimpleFormControllerで指定可能なプロパティ
SimpleFormControllerで指定可能なプロパティを調べてみる。
まずは、階層関係
java.lang.Object + org.springframework.context.support.ApplicationObjectSupport + org.springframework.web.context.support.WebApplicationObjectSupport + org.springframework.web.servlet.support.WebContentGenerator + org.springframework.web.servlet.mvc.AbstractController + org.springframework.web.servlet.mvc.BaseCommandController + org.springframework.web.servlet.mvc.AbstractFormController + org.springframework.web.servlet.mvc.SimpleFormController
org.springframework.web.servlet.mvc.AbstractControllerから、コントローラで設定可能なプロパティがでてくる。
このクラスで指定可能なプロパティは、
- supportedMethods
- requireSession
- cacheSeconds
- synchronizeOnSession
サブクラスのorg.springframework.web.servlet.mvc.BaseCommandControllerでは、
- commandName
- commandClass
- validators
- validator
- validateOnBinding
さらに下がってorg.springframework.web.servlet.mvc.AbstractFormControllerでは、
- bindOnNewForm
- sessionForm
そして最後のSimpleFormControllerでは、
- formView
- successView
これらをまとめるとこんな感じでしょうか。
プロパティ名 | デフォルト値 | 詳細 | 指定可能なクラス |
---|---|---|---|
supportedMethods | GET,POST | サポートするHTTPメソッドをカンマ区切り(CSV形式)で指定 | AbstractController |
requireSession | false | リクエスト処理にセッションが必要かどうか | AbstractController |
cacheSeconds | -1 | キャッシュの有効期間を秒単位で指定(0指定時:no-cache -1指定時:キャッシュヘッダなし | AbstractController |
synchronizeOnSession | false | 同一セッションでのリクエストをシリアライズするか | AbstractController |
commandName | command | コマンド名 | BaseCommandController |
commandClass | null | コマンドオブジェクトとして利用するクラス名 | BaseCommandController |
validators | null | バリデータを配列で指定 | BaseCommandController |
validator | null | バリデータ名 | BaseCommandController |
validateOnBinding | true | リクエストパラメータをコマンドオブジェクトにバインドした後にバリデータを実行するか | BaseCommandController |
bindOnNewForm | false | 新規フォーム作成時(表示時)もリクエストパラメータを保存したままにするか | AbstractFormController |
sessionForm | false | フォームの値をセッション内で保存するか | AbstractFormController |
formView | null | フォーム入力画面 or validationチェック失敗時に表示する画面 | SimpleFormController |
successView | null | formViewで指定した画面でのsubmitが成功した場合に表示する画面 | SimpleFormController |
いまいちわかっていないプロパティもあるけど、その辺はいじり倒しながら確認するか。