- - PR -
struts-configのcontroller要素について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-03-28 02:19
お世話になります。
StrutsでRequestProcessorを継承したクラスを作成し struts-config.xmlのcontroller要素のprocessorClass属性に 設定したのですが、このクラスにパラメータを渡すことは 可能でしょうか? plug-in要素では子要素にset-propertyを設定してPluginを 実装したクラスにgetter/setterを設定すればできるのを 知って、同じようにcontroller要素でもできるかと思い set-propertyを子要素として設定しgetter/setterを設定しましたが 例外が発生しました。 よろしくお願いします。 | ||||
|
投稿日時: 2004-03-28 16:50
以下の手順により、可能だと思われます。
ただし、Strutsのソースを読んだ限りでの話です。 実際に試したわけではありませんので、もしダメでしたらゴメンなさい。 (1):ControllerConfigを拡張して、お望みのプロパティのsetter,getterを追加します。 (2):controller要素のclassNameの値として、(1)で作成したクラスを指定します。 (3):RequestProcessor.init(ActionServlet,ModuleConfig)をオーバーライドして、初期化コードを実装します。 ModuleConfig.getControllerConfig()により取得したControllerConfig(これは、実体は(1)で作成したクラスです)の中に、struts-configで設定したプロパティ値が格納されているはずです。 (4):controller要素のprocessorClassの値として、(3)で作成したクラスを指定します。 | ||||
|
投稿日時: 2004-03-28 21:39
Emacs信者さんへ
書かれていたとおりに行ったところ 最初は、NullPointerExceptionが発生してしまいましたが その後、RequestProcessorを拡張したクラスのinitメソッド の中でsuper.initを追加したら、例外も発生しなくなり 実行されるようになりました。 ありがとうございました。 | ||||
|
投稿日時: 2004-03-29 00:07
super.initについては、すっかり忘れてました… すいません。 |
1