QA@IT

Struts2 2.3から2.5への移行について

1666 PV

ZeroConfigurationで動作させていたStruts 2.3のWebアプリケーションを、
サポート終了に伴いStruts 2.5への移行を行っているのですが
以下のような構成でアクセスした場合、ページ(Action)が存在しないとエラーが出力されてしまいます。

■Webアプリケーション パッケージ構成
action
├IndexAction.java
└editPage
  └IndexAction.java

editPage内のIndexActionをEditIndexAction.javaなどに変更すると正常に動作しており、
struts.xmlやweb.xmlへは特に手を加えていないのですが、何か変更を行う必要があるのでしょうか?

移行前のStruts2のバージョンは2.3.35で、移行後のバージョンは2.5.18になります。
Actionクラスの名前を変更すれば動作することは確認できているのですが、ページ数が多く変更作業に時間がかかってしまうので
そのままの構成で動かせられるならいいのですが・・・。

ちなみに、各ページで何か処理を行う場合はSMI機能を利用して直接メソッド処理を実行する機構となっており、
struts.xmlにはinterceptorタグによる共通処理の実装も行っております。

回答

一先ず自己解決できました。

各アクションに、@Namespaceと@Actionのアノテーション追加が出来ていなかったことが原因でした。
editPage/IndexAction.javaに@Namespace("/editPage")を追記し、executeメソッドの真上に@Action("index")を追記することで無事2.3の時と同じように動作させることが出来ました。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。