- PR -

Struts 1.0 の ActionMappingsの代替について

1
投稿者投稿内容
tarnwo
ベテラン
会議室デビュー日: 2002/10/25
投稿数: 58
投稿日時: 2005-06-28 14:53
Struts1.0時のソースをStruts1.2に変更する際に、
Struts1.1で非推奨になったクラスが削除されました。

そこで以下の既存のソースについてStruts1.2でも
同等の処理を行える方法をご教示ください。
(ActionMappingからActionServletを取得したい)

・Struts1.0でのソース
public ActionServlet getServlet(
ActionMapping mapping) throws ServletException {
ActionMappings mappings = mapping.getMappings();
ActionServlet servlet = mappings.getServlet();
return servlet;
}

調査を行いましたが、どうしても解決方法がわからず困っています。
解決方法をご存知の方がいましたら、回答をお願いいたします。
mone
常連さん
会議室デビュー日: 2005/05/18
投稿数: 37
投稿日時: 2005-06-28 15:53
こんにちは、moneです。
確かにできなくなっていますが、
この質問だとできなくなってますね。
としか、答えられないです。

なぜActionMappingからActionServletを取得しているか
代替というからには、ActionMapping以外に使えるものは何もないのか?
ということがわからないと答えようがないと思います。

#ActionMappingsからはActionServletを取得できなくなっていますが
#ActionなりActionFormなりには残っていますよね?
#自分が触ったことのある構成ならば問題はなさそうですが・・・
tarnwo
ベテラン
会議室デビュー日: 2002/10/25
投稿数: 58
投稿日時: 2005-06-28 16:12
こんにちは。
回答ありがとうございます。
引数ActionMappingだけでは
ActionServletは取得不可能ということですね。

Struts1.0で動いていたものを1.2に
できるだけそのまま移植したかったわけですが、
一筋縄ではいきませんね。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-06-28 19:52
Struts1.0とStruts1.2のソースを見比べた上で、
Struts1.2に対象のメソッドを追加して動くようにするという方法がおすすめです。
struts.jarとは別に独自で改造した
org.apache.struts.action.ActionMappingクラスを配備すれば、
問題なくStruts1.0のまま動くと思います。

私の周りもStrutsを独自で改造して使用している人が結構います。
私もActionFormをPOJOで使用するための改造を行っています。
勉強もかねてソースを見てみるといいと思いますよ。
tarnwo
ベテラン
会議室デビュー日: 2002/10/25
投稿数: 58
投稿日時: 2005-06-29 18:14
回答ありがとうございます。

結果として
・Actionオブジェクトを引数で渡すことで解決
・そもそも当該ソースはStruts1.2にしたことで不要
となりました。

Strutsの改造、面白そうですね。
とはいえ、今回の仕事はただの解析者のため
いろいろいじくることができないので
趣味レベルで遊んでみます。

1

スキルアップ/キャリアアップ(JOB@IT)