悩むことが増えそうなのでConventionプラグインは使わないことにする。
はじめのうちはstruts.xml編集しまくって遷移がわかるように書いておきたい。
地道にStruts2付属のチュートリアルで勉強するわ。
/tutorial
 + /hello
    - hello.jsp
    - hello.vm
 + /WEB-INF
    - web.xml
    + /classes
  + /lib
       - commons-digester-1.8.jar
       - commons-fileupload-1.2.1.jar
       - commons-logging-1.0.4.jar
       - freemarker-2.3.13.jar
       - ognl-2.6.11.jar
       - struts2-core-2.1.6.jar
       - velocity-1.6.2-dep.jar
       - velocity-tools-view-1.4.jar 
       - xwork-2.1.2.jar 
  + /src
       - hello.xml
       - struts.xml
     + /hello
          - HelloWorld.java
機能ごとに分けて、混ざらないようにしたり、他のアプリに機能を持っていきやすいようにしたい。
直下の/helloと/WEB-INF/src/helloと/WEB-INF/src/hello.xmlを持って行ってstruts.xmlでhello.xmlをインクルードすれば良い、はずだ。
今回はウェルカムページをHTMLファイルにしてみる。
struts.xmlではincludeを追加していくだけにする。
機能のまとまり毎に定義を分けることにする。
result-typesはJSPでもVelocityでも使い分けできるようにするもの。
actionはどういうアクションが来たら、どのクラスを使ってどこに遷移するか。
ウェルカムページ。
リンクの書き方はこれでいいのかしら。
これまでJavaコード書いてないから、必要無いけれどJavaクラスからメッセージ出すようにしてみる。
ここに載せているファイルは小文字に統一してるけど、.jspとかのファイルの大文字小文字の違いになかなか気づけなくて時間が過ぎることがある。
ActionSupportを継承してgetter、setter作っておけばなんとでもなるようだ。すばらしい。
@SuppressWarnings("serial")はEclipseで警告出るので抑制のため。めんどくさい。
/WEB-INF/libに必要そうなjarをコピーする。
良い子は使わないと思うが、Javaコードで
System.out.println("hoge");
とか書いておくとコンソールに出力される。
フォームに入力した値をチェックするのは、XMLに定義すればだいたいのことはやってくれるようだ。すばらしい。
貼り付けるのがめんどうになってきた。
【特集】実践サンプルで学ぶStruts 2 - 生まれ変わった定番フレームワークを徹底解説 (12) 入力フォームの値を検証する方法 | エンタープライズ | マイコミジャーナルあたりを見よう。
アクションクラスにvalidateメソッドを実装するか、アクションクラス名-validation.xmlに検証方法を定義するか。アクションクラス名-アクション名-validation.xmlならアクション毎にも設定できる。