Struts2.2.3ではまった
あっさ!
Struts2.2.3を動かすだけで息切れしてしまった。
Struts2さん、バージョンによってファイル名とか細かい仕様とか変わっているのかな?
頼みますよー自分みたいな情弱さんは一日かけて迷いました。
何とかエラーを追っかけて、妄想(こうだろう、と仮定)してやっと動かせた。
必要ファイル
こいつらをlibフォルダに入れる
- commons-fileupload-1.2.2.jar
- commons-io-2.0.1.jar
- commons-lang-2.5.jar
- commons-logging-1.1.1.jar
- freemarker-2.3.16.jar
- javassist.jar
- ognl-3.0.1.jar
- struts2-codebehind-plugin-2.2.3.jar
- struts2-core-2.2.3.jar
- xwork-core-2.2.3.jar
注意点
struts2-codebehind-plugin-2.2.3.jar、こいつを入れないとゼロコンフィギュレーションを使用できない。
そしてゼロコンフィギュレーションで動かす場合、struts.xmlはいらない。削除。(struts2のjarファイルの中に、デフォルトのxmlファイルがあり、それが使われている)
あと、命名規約が重要になる。ExampleActionクラス、TestActionクラス、などアッパーキャメルでおしりがActionなクラス名にする。URLアクセスはexample.actionやtest.actionとなる。
ExampleDesuActionなど、二つ大文字が入ると、example-desu.actionとなるらしい。
あと、WEB-INF/libとtomcatoのlibに同じjarファイルを置くとエラーになった(自分は)
参考サイト
Struts2のアクション名指定ではまった話 : ScarMitt
http://scarmitt.sakura.ne.jp/programs/struts2_no_action_mapped.html
Validationもノンコンフィギュレーションでいけるらしい。
web.xml
とりあえず下記のように設定。
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> <init-param> <param-name>actionPackages</param-name> <param-value> pkg.test </param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
チュートリアル
ここ参考にやるといいと思う
Struts 2入門(1)〜基本形で理解する仕組みと構造〜(1/4):CodeZine
http://codezine.jp/article/detail/2296?p=3
追記
2011/08/15
codebehind-pluginは、最新バージョンでは非推奨だった.
変わりにconvention-pluginを使う.
codebehindでもゼロコンフィギュレーションできるけど、conventionならさらにCoC(設定より規約)を重んじた使い方ができるみ.