しかし、Struts 2 の互換性軽視のバージョンアップはどうにかならんものか?[プログラミング]
(2016-12-15 00:19:45) by shinoda


とりあえず、2.5 系は情報不足なんで、2.3 系で自習&検証を進めることにした。

なにせ、Struts 2 は初めての経験なので、ググった Web サイトなど参考にしつつテスト用にプロジェクトを作ってみてるんだけど、Struts 2 、マイナーバージョンどころかリビジョン違いですら互換性なさすぎやろ(^^;

たとえば、2.3.16 環境で動いてた Web システムが 2.3.31 環境で動かんとか・・・ありえんよね(^^;
まあ、Java や Tomcat のバージョンも絡んでくるから仕方ない面もあるんだろうけど。

今回、一番参考にした「CYOKODOG  JS DEVELOPER BLOG」の中の「2014年度版 Eclipse + Struts2 による Java Web アプリ開発入門」というページでも、

Googleで「Struts2 入門」で検索すると以下のようなさまざまな入門サイトがひっかかりますが、バージョンアップ毎の仕様変更が活発なせいなのか現時点の最新版 2.3.16 の Struts2 で動かそうとするうまくいきません。

@いう間にWebアプリを作れる「Struts 2」入門 - @IT
Struts2入門〜基本形で理解する仕組みと構造〜 - CodeZine
Struts2を使ってみる

なんて書かれてます。そうそう。"@いう間にWebアプリを作れる「Struts 2」入門 - @IT"サイトのとおりにやっても全然動かんかった(^^;

でも、「CYOKODOG  JS DEVELOPER BLOG」の記述どおりにやってもうちの環境ではうまくいかなくて、

struts2-convention-plugin-2.3.31.jar

を WebContent/WEB-INF/lib にコピーし、ビルド・パスに追加した上で、LoginAction.java を、

import org.apache.struts2.config.Result; 
 ↓
import org.apache.struts2.convention.annotation.Result;

@Result(name = "main", value = "main.action", type = ServletRedirectResult.class)
 ↓
@Result(name = "main", location = "main.action", type = "ServletRedirectResult")

と修正する・・・っていう対応が必要だった。
それと、

import org.apache.struts2.dispatcher.*;

は参照されていないので削除。まあ、これは警告レベルの問題なので、必須じゃないけど。

これで、うちの環境でも、

<画像:20161214_struts2.jpg>

最初の表示まではとりあえずうまくいった。続きをやりますかね。

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8