2009-08-04 11 views
4

私は、Springからいくつかの参照を手動でフェッチしている私のアプリケーションのカスタムStruts RequsetProcessorを書きました。それはうまくいっていますが、私は「正しい」ことをして、建設時に必要なものすべてを注入したいと思います。SpringがStruts RequestProcessorに挿入

StrutsがこのRequestProcessorをインスタンス化するときにSpringオブジェクトを挿入できる方法でカスタムStruts RequestProcessorを定義する方法はありますか?

答えて

1

短い答えは「いいえ」です。長い答えは「一種の」である:StrutsのはContextLoaderPluginを経由してアプリケーション内の春に統合されて、あなたは2つのいずれかを行うことができますと仮定

A)「をProcessorContext」豆(またはものは何でもしたいの作成しますこれは、Springのコンテキストで定義し、Springのコンテキスト(WebApplicationContextUtils.getWebApplicationContext(getServletContext())から得ることができます)から取得することで、カスタム要求プロセッサからアクセスすることができます。

B)カスタムプロセッサは、SpringのDelegatingRequestProcessorDelegatingTilesRequestProcessorかわりに、あなたは機能ごとのやりたいことでしょう新しい要求処理を記述し、すべての依存関係を持つSpringコンテキストにバインドしてからDelegatingRequestProcessorまたはDelegatingTilesRequestProcessorを拡張することができますを拡張する場合それをコンテキスト(型またはid経由)から取得し、それを委譲します。これは本質的に(A)の拡張ですが、すべてのSpringの配管をSpringのリクエストプロセッサ拡張に委任して、カスタムプロセッサをSpringに依存しないままにします。

スプリング/ストラットの統合について詳しくは、hereで説明しています。

+0

回答にURLを含めてくれてありがとう...その情報は大変役立ちます! –

関連する問題