(1) Tomcatプロジェクトとして「ManageUser1」プロジェクトを作成します。
(2) 作成したプロジェクトの「WEB-INF/lib」フォルダ配下に、Struts2のライブラリをコピーします。
Struts2の解凍フォルダ(C:\dev\struts-2.0.x\lib)配下の中から、次のファイルをコピーします。
・freemarker-2.3.8.jar
・commons-logging-1.0.4.jar
・ognl-2.6.11.jar
・struts2-core-2.0.9.jar
・xwork-2.0.4.jar
・struts2-codebehind-plugin-2.0.9.jar
「HelloWorld」プロジェクトと比較すると「struts2-codebehind-plugin-2.0.9.jar」を
追加しています。これは「Zero Configuration」を実現するために、アクションクラスの
返却値から、自動的にjspファイル名を決定して呼び出すためのものです。(詳しくは後述します)
・web.xmlは、こちらの内容を記述します。
「Zero Configuration」を実現するため、以下の記述を追加しています。
これは、「pkg.sample」内のパッケージに含まれているクラスは、アクションクラスだと
認識させるためのものです。
<init-param> <param-name>actionPackages</param-name> <param-value>pkg.sample</param-value> </init-param>
・struts.xmlは、こちらの内容を記述します。
見てのとおり、何も定義を書きませんw。
<?xml version="1.0"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.ui.theme" value="simple" /> <!-- packageやactionタグは、一切記述不要 --> </struts>
■struts.ui.themeについて
ここではstruts.ui.themeとしてsimpleを指定しています。この指定をしないと
<s:textfield> や <s:submit> などのUIタグを使用したときに、
<input>タグが埋め込まれるのと同時に、勝手に<td>タグなども
埋め込まれてしまいます。
これを回避するために、以後、struts.ui.themeとしてsimpleを指定することにします。
※具体的にどんな値が定義可能なのかは、調査中です。