アノテーションを使用しないSpring 3 MVCでアプリケーションを開発しようとしています。それにはいくつかの理由があります (中央の構成場所が好き、コントローラーに HTTP 固有の情報を入れたくない、XML ファイルが好き、私の IDE (intellij IDEA) はそれを適切にサポートしています)。
最初に、URL からコントローラーへのマッピングが必要です。を使用して実現できますBeanNameUrlHandlerMapping
。このメソッドは 3.0 のドキュメントから削除されましたが (「注釈によって廃止されました」)、それでも機能します。
次に、プロパティを持つ Bean に GET パラメータをマップする必要があります。ストラットでは、デフォルトでそれがあります:(私は使用できますBaseCommandController
。廃止されましたが@SuppressWarnings
、醜いメッセージを取り除くために使用できます。
bindAndValidate
その後にコマンドオブジェクトを入力します。
少なくとも、パス変数を (uri テンプレートから) マップして、URL を読み取り可能にする必要があります。そして、私はここで迷っています。見てください: https://jira.springsource.org/browse/SPR-5757
BaseCommandController
GET/POST でのみ機能します。を使用してリクエストからマップを取得できますUriTemplate
。しかし、bindAndValidate
受け入れHttpServletRequest
てパラメーターを追加することはできません。マップは読み取り専用です。飾れるけど…ハック多すぎ!
非常に単純なニーズに対してハックが多すぎます。ハック、非推奨のクラス、およびBaseCommandController
3.0 では文書化されていないもの。
アノテーションなしでSpring MVC 3.0を使用してアプリを作成することは可能ですか? または、MVC に別のもの (struts-2 など) を使用する必要がありますか?